MOA is an open source framework for Big Data stream mining. It includes a collection of machine learning algorithms (classification, regression, clustering, outlier detection, concept drift detection and recommender systems) and tools for evaluation.
This pull request introduces the EfficientEvaluationLoops class within the moa.evaluation package. This class provides functionality for executing experiments programmatically, bypassing the need for a GUI or CLI. It offers the same capabilities as running Tasks, such as EvaluatePrequential, but is intended for use directly from code. This allows users to seamlessly integrate this class with other Java codebases.
Key Features:
Programmatic Experiment Execution: Enables execution of experiments without requiring a graphical user interface (GUI) or command line interface (CLI).
Task-Based Evaluation: Provides the same functionality as Task-based evaluations (e.g., EvaluatePrequential) for ease of use in code.
MOA Learners Integration: Facilitates exploration and execution of MOA learners programmatically.
PrequentialResult Class: An inner class that encapsulates the results of various evaluation types, such as Prequential, Cumulative, or Windowed evaluations. It stores ground truth and prediction values for plotting or debugging purposes.
Implementation Details:
The EfficientEvaluationLoops class contains methods to calculate test-then-train metrics and prequential windowed metrics simultaneously.
The PrequentialResult inner class is designed to store the results of evaluations, with support for ground truth and prediction values.
Includes several example methods demonstrating different evaluation scenarios, which can serve as the basis for future tests.
Important Considerations:
This class was initially designed to offer efficient evaluation loops for MOA learners within the CapyMOA framework. Any modifications to this class should be made with caution, considering its integration with CapyMOA.
For more details, refer to the CapyMOA website: www.capymoa.org.
Example Usage:
The main method in the EfficientEvaluationLoops class provides various example scenarios demonstrating the usage of the class, including prequential evaluation edge cases, efficiency evaluations, and different types of evaluation methods (e.g., regression, windowed evaluation).
Testing and examples
Example scenarios included in the main method demonstrate the functionality and performance of the class. These examples can be adapted into formal tests to ensure the robustness and reliability of the implementation.
Summary
This pull request introduces the EfficientEvaluationLoops class within the moa.evaluation package. This class provides functionality for executing experiments programmatically, bypassing the need for a GUI or CLI. It offers the same capabilities as running Tasks, such as EvaluatePrequential, but is intended for use directly from code. This allows users to seamlessly integrate this class with other Java codebases.
Key Features:
Programmatic Experiment Execution: Enables execution of experiments without requiring a graphical user interface (GUI) or command line interface (CLI). Task-Based Evaluation: Provides the same functionality as Task-based evaluations (e.g., EvaluatePrequential) for ease of use in code. MOA Learners Integration: Facilitates exploration and execution of MOA learners programmatically. PrequentialResult Class: An inner class that encapsulates the results of various evaluation types, such as Prequential, Cumulative, or Windowed evaluations. It stores ground truth and prediction values for plotting or debugging purposes. Implementation Details:
The EfficientEvaluationLoops class contains methods to calculate test-then-train metrics and prequential windowed metrics simultaneously. The PrequentialResult inner class is designed to store the results of evaluations, with support for ground truth and prediction values. Includes several example methods demonstrating different evaluation scenarios, which can serve as the basis for future tests. Important Considerations:
This class was initially designed to offer efficient evaluation loops for MOA learners within the CapyMOA framework. Any modifications to this class should be made with caution, considering its integration with CapyMOA. For more details, refer to the CapyMOA website: www.capymoa.org. Example Usage: The main method in the EfficientEvaluationLoops class provides various example scenarios demonstrating the usage of the class, including prequential evaluation edge cases, efficiency evaluations, and different types of evaluation methods (e.g., regression, windowed evaluation).
Testing and examples
Example scenarios included in the main method demonstrate the functionality and performance of the class. These examples can be adapted into formal tests to ensure the robustness and reliability of the implementation.