🚀 MLPilot
Data In → Insights Out
MLPilot is a production-grade Python AutoML library for tabular datasets that automatically performs EDA, preprocessing, model comparison, hyperparameter tuning, explainability, and exports a deployment-ready inference pipeline.
14+ Models • Auto EDA • Optuna • SHAP • CLI • Python API
✨ Features
- 📂 Automatic CSV & Parquet loading
- 🤖 Regression & Classification detection
- 📊 Statistical EDA & data quality reports
- 🧹 Missing value, duplicate & outlier handling
- ⚙️ Feature engineering & preprocessing pipeline
- 🏆 Compare 14+ ML models with Cross Validation
- 🎯 Bayesian hyperparameter tuning using Optuna
- 🔍 SHAP feature importance & explainability
- 📦 Export complete inference pipeline as
.joblib
⚡ Installation
pip install mlpilot
For development:
python -m pip install -e ".[dev]"
🚀 Quick Start
Run the complete pipeline:
mlpilot run --data dataset.csv
Specify the target column:
mlpilot run --data dataset.csv --target price --task regression
Custom output directory:
mlpilot run --data dataset.csv --output outputs/
🔄 Pipeline Workflow
Raw Dataset
│
▼
Load Data
│
▼
Statistical EDA
│
▼
Data Cleaning
│
▼
Feature Engineering
│
▼
Train/Test Split
│
▼
Preprocessing
│
▼
Compare Models
│
▼
Optuna Tuning
│
▼
SHAP Explainability
│
▼
Model Evaluation
│
▼
Export Pipeline (.joblib)
🐍 Python API
from ml_pilot import PipelineRunner
from ml_pilot.config import load_config
config = load_config()
runner = PipelineRunner(config)
context = runner.run(
data_path="dataset.csv",
target="price"
)
print(context.best_model_name)
print(context.metrics)
📁 Generated Artifacts
outputs/
├── mlpilot_pipeline.joblib
├── leaderboard.csv
├── metrics.json
├── model_comparison.json
├── feature_importances.json
├── run_metadata.json
├── serving_schema.json
├── predict_snippet.py
└── shap/
├── shap_summary.png
├── shap_dependence.png
└── shap_waterfall.png
🧠 Supported Models
| Category | Models |
|---|---|
| Linear | Ridge, Lasso, ElasticNet, Linear Regression |
| Tree | Decision Tree, Random Forest, Extra Trees |
| Boosting | Gradient Boosting, HistGradientBoosting |
| Instance | KNN, SVR |
| Neural | MLP Regressor / Classifier |
📂 Project Structure
mlpilot/
├── src/ml_pilot/
│ ├── cli.py
│ ├── config/
│ ├── core/
│ ├── stages/
│ └── utils/
├── tests/
├── examples/
└── pyproject.toml
🛠 Tech Stack
- Python 3.12+
- Scikit-learn
- Pandas & NumPy
- Optuna
- SHAP
- Typer + Rich
- Joblib
- Plotly
📄 License
Released under the MIT License.
Built with using Python
If MLPilot helps your workflow, consider giving the repository a ⭐.
Metadata
Release files for mlpilotx 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mlpilotx-0.1.0.tar.gz | 30.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mlpilotx-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.1 kB
Release files / mlpilotx-0.1.0.tar.gz
| Download URL | mlpilotx-0.1.0.tar.gz |
|---|---|
| Size | 30.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89ba2b923548ce583285d0b7b50a3ac2357a0ecc12071e03d299ecbf65c2da10
|
|
BLAKE2b-256 checksum How to use checksums |
215c445305e4e3db7cca7296cb5a9f819d4622ebba5b62818dad14511ffe11c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|
Release files / mlpilotx-0.1.0-py3-none-any.whl
| Download URL | mlpilotx-0.1.0-py3-none-any.whl |
|---|---|
| Size | 43.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b7993d29ee959790d2934ea1ab0e8979d6dc3a7a09731d3a458ab3689d491e4e
|
|
BLAKE2b-256 checksum How to use checksums |
f008482a911594566f68681e7cd25788e18d01f33a2acba6214c2c611041e686
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.0
|