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.
- 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 persistence –
save()/load()keeps the pipeline reusable without retraining.
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.pyDuring execution you will see:
- A data quality scan.
- Outlier detection/removal statistics.
- Summary metrics for every trained model and an optional ensemble.
- A saved model artifact at
enterprise_automl_model.pkl.
Call print_report() inside your own scripts to emit the detailed report after
training.
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.
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.