Mini-AutoML is a lightweight, easy-to-use Automated Machine Learning framework that automatically preprocesses data, trains multiple models, and selects the best one based on your chosen metric.
Note
This tool is designed for rapid prototyping and educational purposes. It currently supports basic regression and classification tasks using Scikit-Learn.
Building machine learning pipelines from scratch involves a lot of repetitive boilerplate code for data imputation, scaling, encoding, and model selection. Mini-AutoML simplifies this by providing an end-to-end automated pipeline.
It evaluates baseline models (Logistic/Linear Regression, Random Forest, KNN) using GridSearchCV and exports the winning model as a ready-to-deploy .joblib pipeline. You can interact with it via an interactive Web App, a Command Line Interface (CLI), or programmatically via the Python API.
- Automated Preprocessing: Infers column types, drops columns with massive missing data, imputes missing values, scales numerical features, and one-hot encodes categorical features.
- Model Training: Evaluates various baseline models depending on the task type (Classification or Regression).
- Hyperparameter Tuning: Utilizes
GridSearchCVto find the best configuration for the winning model. - Interactive Prediction: Once the pipeline completes, input new unseen data to get predictions via the Streamlit Web UI.
- Easy Export: The best pipeline is seamlessly exported into the
models/directory for deployment.
You need to have Python 3.8+ installed on your local machine.
- Clone the repository (if applicable) and navigate to the project directory.
- Create and activate a virtual environment:
python -m venv .venv source .venv/bin/activate # On macOS/Linux # .venv\Scripts\activate # On Windows
- Install dependencies:
pip install -r requirements.txt
Mini-AutoML comes equipped with three convenient ways to interact with it.
The most user-friendly way to use the tool is via the built-in Streamlit dashboard.
streamlit run app.pyTip
After running the pipeline in the Web App, navigate to the Predict tab to dynamically test your new model with custom inputs!
Prefer working from the terminal? You can use cli.py to run the end-to-end pipeline.
# View help and options
python cli.py --help
# Run a classification task
python cli.py data/iris.csv --target species --task classification
# Run a regression task with a custom export path
python cli.py data/Housing.csv --target price --task regression --export models/my_model.joblibYou can easily integrate Mini-AutoML directly into your custom Python scripts or Jupyter Notebooks.
import pandas as pd
from src.automl import AutoML
# Initialize the AutoML engine
automl = AutoML(
target_column="target_name",
task_type="classification" # or 'regression'
)
# Run the pipeline and save the best model
automl.fit("dataset.csv", export_path="models/best_model.joblib")
# View the evaluation report
print(automl.get_report())app.py: Streamlit Web Applicationcli.py: Command Line Interfaceexample.py: Programmatic usage examplesrequirements.txt: Python dependenciessrc/automl.py: Core AutoML orchestration classdata_processor.py: Data ingestion, splitting, and cleaningpreprocessor.py: Scikit-learn Pipeline constructiontrainer.py: Model training and hyperparameter tuningutils.py: Logging and reporting utilities

