8000 feat: efficient evaluation loops by hmgomes · Pull Request #307 · Waikato/moa · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: efficient evaluation loops #307

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 17, 2024

Conversation

hmgomes
Copy link
Member
@hmgomes hmgomes commented Jul 6, 2024

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.

@hmgomes hmgomes merged commit 84529cf into Waikato:master Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0