A comprehensive, modular framework for automated machine learning with overfitting detection and mitigation
Project description
AutoML Framework: Intelligent Machine Learning Automation 🤖🧠
🌟 Project Overview
AutoML Framework is a cutting-edge, comprehensive machine learning library designed to simplify and automate the entire machine learning workflow. Our mission is to democratize machine learning by providing an intelligent, easy-to-use solution that handles complex model selection, optimization, and evaluation.
🚀 Key Differentiators
- Intelligent Model Selection: Automatically tries and evaluates multiple algorithms
- Advanced Overfitting Detection: Sophisticated techniques to prevent model overfitting
- Comprehensive Hyperparameter Optimization: Finds optimal model configurations
- Detailed Performance Reporting: In-depth insights into model performance
📦 Installation
Quick Install
# Install stable version
pip install automl-framework
# Install latest development version
pip install git+https://github.com/nandarizkika/automl-framework.git
Installation Options
# Install with all optional dependencies
pip install automl-framework[all]
# For specific use cases
pip install automl-framework[visualization] # Visualization tools
pip install automl-framework[tuning] # Advanced hyperparameter tuning
🧠 Quick Start Examples
Classification Example
from automl import AutoML
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# Load dataset
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Initialize AutoML
automl = AutoML(problem_type='classification')
# Train and evaluate models
automl.fit(X_train, y_train)
results = automl.evaluate(X_test, y_test)
# Get best model and predictions
best_model = automl.predict(X_test)
leaderboard = automl.get_leaderboard()
print(leaderboard)
Regression Example
from automl import AutoML
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
# Load dataset
X, y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
# Initialize AutoML for regression
automl = AutoML(problem_type='regression')
automl.fit(X_train, y_train)
results = automl.evaluate(X_test, y_test)
🔧 Advanced Features
Overfitting Detection
# Enable advanced overfitting control
automl.pipeline.set_overfitting_control(
detection_enabled=True,
auto_mitigation=True,
threshold=0.3
)
# Get overfitting assessment
assessment = automl.get_overfitting_assessment()
suggestions = automl.get_improvement_suggestions()
Hyperparameter Tuning
from automl import TuningIntegrator
# Create tuning integrator
tuner = TuningIntegrator(automl)
# Advanced model tuning
summary = tuner.tune_models(
X_train, y_train,
search_type='bayesian',
n_iter=50,
register_best=True
)
🌈 Key Features
1. Automated Machine Learning
- Automatic algorithm selection
- Intelligent model ranking
- Performance optimization
2. Overfitting Management
- Multi-metric overfitting detection
- Automatic and manual mitigation strategies
- Comprehensive model fit assessment
3. Hyperparameter Optimization
- Grid Search
- Random Search
- Bayesian Optimization
- Hyperopt Integration
4. Comprehensive Reporting
- Detailed performance leaderboards
- Feature importance analysis
- Training logs and insights
🧪 Supported Models
Classification
- Random Forest
- Logistic Regression
- Gradient Boosting
- Support Vector Machines
- Decision Trees
- K-Nearest Neighbors
- Neural Networks
Regression
- Linear Regression
- Ridge Regression
- Random Forest Regressor
- Gradient Boosting Regressor
- Support Vector Regression
📊 Performance Benchmarks
| Dataset | Models | Best Accuracy | Training Time | Overfitting Detected |
|---|---|---|---|---|
| Iris | 5 | 97.8% | 2.3s | None |
| Wine | 7 | 94.4% | 4.1s | 1 model |
| Breast Cancer | 8 | 96.5% | 8.7s | 2 models |
🛣️ Roadmap
v0.2.0
- Deep Learning Integration
- Time Series Support
- Advanced Feature Engineering
- Enhanced Visualization
v0.3.0
- Distributed Training
- Model Deployment Tools
- Advanced NLP Support
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
Ways to Contribute
- 🐛 Report Bugs
- 💡 Suggest Features
- 📝 Improve Documentation
- 🔧 Submit Pull Requests
📄 License
MIT License - See LICENSE for details
📞 Support
- 📧 Email: nandarizky52@gmail.com
- 🐞 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
🌟 Star History
AutoML Framework: Where Intelligence Meets Automation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file automl_framework-0.1.1.tar.gz.
File metadata
- Download URL: automl_framework-0.1.1.tar.gz
- Upload date:
- Size: 115.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e2eebe7c4335403d4c3fb77844ad47413a84641a1653319d0185cc276613b38
|
|
| MD5 |
156476f105bf1f27b4e03699a9375d3a
|
|
| BLAKE2b-256 |
58824b8da648c716e00f4c3979daee9dc88be9c14c361fd935481562ff4595bf
|
File details
Details for the file automl_framework-0.1.1-py3-none-any.whl.
File metadata
- Download URL: automl_framework-0.1.1-py3-none-any.whl
- Upload date:
- Size: 40.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
615ed688c2ecb7cfdbe986bc00424fd28cbd211e826add9c6fa1b1f6b2063261
|
|
| MD5 |
63ebad247095c9d8b93afde39cf432f1
|
|
| BLAKE2b-256 |
592322594ba18ebbe1faa293dc46f93c51e9c15d5abdb5c4f4a4627205cfed97
|