You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, HypEx lacks a structured interface for ML experiments. Given that ML-based experiments require specialized handling, defining a clear architectural interface will ensure consistency, modularity, and ease of integration with existing ML workflows. This will also enable users to seamlessly extend and customize ML experiments while maintaining compatibility with HypEx’s core framework.
Feature Description
Design a base MLExperiment class that defines the core interface for ML-based experiments.
Define key abstract methods such as:
fit(self, data, target): Train the model.
predict(self, data): Generate predictions.
evaluate(self, predictions, ground_truth): Assess model performance.
save(self, path): Save the trained model.
load(cls, path): Load a pre-trained model.
Implement a flexible inheritance structure so that different ML methods (e.g., supervised learning, reinforcement learning) can extend the base class.
Ensure seamless integration with existing HypEx experiment structures.
Provide a reference implementation of at least one ML experiment type using the new interface.
Potential Impacts
Improved modularity and maintainability of ML-based experiments.
Easier extension and customization of ML workflows.
Better consistency across different ML experiment implementations.
Alternatives
Keep ML experiment implementations ad-hoc without a unified interface (less structured, harder to maintain).
Use existing general-purpose ML frameworks, though they may not be tailored for HypEx needs.
Additional Context
Ensure compatibility with libraries like scikit-learn, PyTorch, LightGBM, and XGBoost.
Follow best practices in object-oriented design to create an extendable and reusable interface.
Provide comprehensive documentation and examples of usage.
Checklist
Design MLExperiment base class with core interface methods.
Implement a sample ML experiment using the interface.
Ensure integration with existing HypEx experiment structures.
Add unit tests covering interface functionality.
Update documentation with usage guidelines and examples.
Review and refine design before merging.
The text was updated successfully, but these errors were encountered:
🚀 Feature Proposal
Design an Interface for ML Experiments
Motivation
Currently, HypEx lacks a structured interface for ML experiments. Given that ML-based experiments require specialized handling, defining a clear architectural interface will ensure consistency, modularity, and ease of integration with existing ML workflows. This will also enable users to seamlessly extend and customize ML experiments while maintaining compatibility with HypEx’s core framework.
Feature Description
fit(self, data, target)
: Train the model.predict(self, data)
: Generate predictions.evaluate(self, predictions, ground_truth)
: Assess model performance.save(self, path)
: Save the trained model.load(cls, path)
: Load a pre-trained model.Potential Impacts
Alternatives
Additional Context
Checklist
MLExperiment
base class with core interface methods.The text was updated successfully, but these errors were encountered: