SageML is an out-of-the-box AutoML solution designed to simplify the machine learning workflow. With minimal user input, SageML automates model selection, hyperparameter optimization, and provides a trained machine learning model ready for deployment.
- Automatic Model Selection: Chooses the best algorithm based on data characteristics with pre-trained neural network.
- Hyperparameter Optimization: Utilizes Optuna for efficient hyperparameter tuning.
- Data Preprocessing: Handles missing values, categorical encoding, and feature scaling automatically.
- Interactive Interface: User-friendly terminal interface with tutorials and step-by-step guidance.
- Extensibility: Modular architecture allows for easy customization and extension.
- Compatibility: Supports a wide range of algorithms from scikit-learn, CatBoost, XGBoost, and more.
SageML is available on PyPI. You can install it using pip
:
pip install sageml
Note: For the latest features and updates, you might want to install from the GitHub repository.
Here's how you can get started with SageML in just a few lines of code:
from sageml import SageML
import pandas as pd
# Initialize SageML with your dataset
sageml = SageML(pd.read_csv('classified/data.csv'), target='target')
# Make predictions
predictions = sageml.predict(pd.read_csv('not/classified/data.csv'))
SageML automatically preprocesses your data to make it suitable for machine learning algorithms.
- Handles missing values with appropriate imputation methods.
- Encodes categorical variables using techniques like One-Hot Encoding.
- Scales numerical features for algorithms sensitive to feature scales.
- Analyzes data characteristics (e.g., number of features, class balance).
- Selects suitable algorithms from a pool that includes scikit-learn classifiers/regressors, CatBoost, XGBoost, etc.
- Supports both classification and regression tasks.
- Utilizes Optuna for efficient hyperparameter optimization.
- Employs advanced features like pruning to reduce computation time.
- Allows selection of evaluation metrics from scikit-learn or custom weighted sums.
- Supports cross-validation and hold-out validation strategies.
Detailed documentation should be available soon.
We welcome contributions from the community!
- Bug Reports & Feature Requests: Use the GitHub Issues to report bugs or suggest features.
SageML is licensed under the GNU General Public License v3.0.
Disclaimer: This project is under active development. Features and interfaces are subject to change.