Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Enterprise AutoML Pipeline

This project ships an EnterpriseAutoML class (see run.py) that builds a full Machine Learning workflow around your tabular data. It goes beyond basic training loops by auditing the dataset, cleaning it, engineering new signals, and ranking several models so you can adopt the strongest performer with confidence.

Highlights

  • Automatic task detection – figures out if you have a regression or classification problem.
  • Data quality audit – reports sample/feature counts, missing values, and class imbalance warnings before training starts.
  • Robust preprocessing – imputes numeric and categorical columns, encodes categoricals, scales features, and optionally engineers interactions, polynomial terms, and ratios.
  • Outlier handling & feature selection – trims extreme observations and keeps only the most informative features (SelectKBest).
  • Model zoo with tuning – trains numerous scikit-learn estimators, performs grid search when tune_hyperparameters=True, and compares performance with cross-validation.
  • Ensembling – optionally blends the best individual models with a voting regressor/classifier.
  • Comprehensive reporting – stores training history, metrics, and full model comparisons; print_report() formats everything for quick review.
  • Model persistencesave()/load() keeps the pipeline reusable without retraining.

Quick Start

python -m venv .venv
source .venv/bin/activate  # On Windows use: .venv\Scripts\activate
pip install -e .

Run the end-to-end demonstration (synthetic real-estate data with outliers and missing values):

python run.py

During execution you will see:

  1. A data quality scan.
  2. Outlier detection/removal statistics.
  3. Summary metrics for every trained model and an optional ensemble.
  4. A saved model artifact at enterprise_automl_model.pkl.

Call print_report() inside your own scripts to emit the detailed report after training.

Using the AutoML class with your data

import pandas as pd
from run import EnterpriseAutoML

df = pd.read_csv("your_dataset.csv")
X = df.drop(columns=["target"])
y = df["target"]

automl = EnterpriseAutoML(
    tune_hyperparameters=True,
    use_feature_engineering=True,
    use_ensemble=True,
    handle_outliers=True,
    cv_folds=5,
)

automl.fit(X, y)
predictions = automl.predict(X.head())  # or any new DataFrame with the same schema
automl.print_report()
automl.save("enterprise_automl_model.pkl")

Later, reload the persisted pipeline with EnterpriseAutoML.load(...) and call predict() on raw (unencoded) data – all preprocessing steps are preserved.

Repository Notes

  • run.py – core implementation and the interactive demo workflow.
  • enterprise_automl_model.pkl – example model artifact produced by the demo.
  • test.csv – sample housing dataset you can experiment with; swap it into the example above instead of generating synthetic data.
  • pyproject.toml / uv.lock – dependency definitions (pandas, scikit-learn, numpy, etc.).

Feel free to tailor the class by toggling constructor flags or extending the get_models_and_params() method to include domain-specific estimators.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages