mljar/mljar-supervised

Python package for AutoML on Tabular Data with Feature Engineering, Hyper-Parameters Tuning, Explanations and Automatic Documentation

What it solves

MLJAR AutoML is designed to save data scientists time by automating the repetitive parts of the machine learning pipeline for tabular data. It abstracts the process of data preprocessing, model construction, and hyper-parameter tuning to find the best performing model without acting as a "black box."

How it works

The package provides a high-level AutoML class that manages the entire pipeline. It supports four distinct modes of operation:

  • Explain: Focuses on data understanding using simple models (like Decision Trees) and extensive visualizations (SHAP, dtreeviz).
  • Perform: Optimized for production use cases, utilizing 5-fold cross-validation and a selection of robust algorithms.
  • Compete: Designed for ML competitions, employing stacking, ensembling, and adaptive validation strategies.
  • Optuna: Prioritizes maximum performance over computation time by using the Optuna framework for hyper-parameter tuning.

It handles feature engineering (including "Golden Features"), missing value imputation, and target preprocessing. It also includes fairness-aware training to mitigate bias using sample weighting and smart grid search.

Who it’s for

Data scientists and ML engineers working with tabular data who want to automate model selection and tuning while maintaining full transparency and explainability of the results.

Highlights

  • Transparent Reporting: Automatically generates detailed Markdown reports for every experiment and model, including metrics and charts.
  • Web App Generation: Can automatically create interactive prediction web apps via Mercury for non-technical stakeholders.
  • Broad Algorithm Support: Includes Baseline, Linear, Random Forest, Extra Trees, LightGBM, Xgboost, CatBoost, Neural Networks, and Nearest Neighbors.
  • Fairness Tools: Built-in support for fairness metrics and bias mitigation for binary/multiclass classification and regression.
  • Automatic Persistence: Automatically saves and loads models to allow training to be resumed after interruptions.

Related

  • Project
  • Project
  • Project
  • Project
  • Project