CSC207-2023Y-UofT / ai-playground

course-project-neural-network created by GitHub Classroom
https://csc207-2023y-uoft.github.io/ai-playground/
Apache License 2.0
3 stars 1 forks source link

Implementing call to feature controller #64

Closed snkrs23 closed 1 year ago

snkrs23 commented 1 year ago

This pull request in conjunction with https://github.com/CSC207-2023Y-UofT/ai-playground/pull/71 adds several getter methods in MlParamaters.java for handling user interactions with the AI Playgrond application. These methods provide handling for learning rate, activation, regularization, regularization rate, and problem type user selections, each with unique responses and structures.

These methods help bridge the disconnect between user interactions with the user

These datasets serve as interactive examples for users to visualize neural network decision boundaries and explore the impact of different configurations on neural network performance. The generateDatasets class offers flexibility in generating data points for plotting and provides a valuable addition to the AI Playground's dataset generation capabilities.

Closes #1, #3, #4, #5

This class was significantly modified here https://github.com/CSC207-2023Y-UofT/ai-playground/pull/42, and to comply with SOLID and CA principles. Additional features including displaying user selections and handling of interactions with the playButton and rewindButton were made later.

Extensive documentation using Javadocs and test using JUnit were added in later PRs by me, Alvina, and Amr.

Finally the MlParameters class acts as the final point of interaction for users to select parameter values for training. Interactions with the ml-parameters-view.fxml are recorded by the aforementioned getter methods in MlParameters and stored for use by the neural network in handlePlayButtonClick. Once the play button is clicked, the handlePlayButtonClick is triggered starting training using user selected values.

// Example of how handleProblem handles user interactions.
MenuItem selection = (MenuItem) actionEvent.getSource();
String problem = selection.getText();
prob.setText(selection.getText());
MlParametersController.handleProblem = problem;
return problem;