mljar/mljar-supervised

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

What it solves

mljar-supervised 是一个用于表格数据的自动化机器学习 (AutoML) 包,旨在减少数据科学家在预处理数据、选择算法和调优超参数所需的时间和精力。它旨在摆脱“黑盒”AutoML,通过为每个训练的模型提供详细的 Markdown 报告,确保过程透明且可解释。

How it works

该工具抽象化了常见的 ML pipeline——从数据预处理(填补缺失值、类别转换)和高级特征工程(Golden Features、文本/时间转换)到模型选择和超参数调优。它支持广泛的算法,包括 Linear models、Random Forest、LightGBM、Xgboost、CatBoost 和 Neural Networks。

它以四种不同的模式运行:

  • Explain: 专注于使用简单模型和广泛的 SHAP 和排列重要性图表来理解数据。
  • Perform: 针对生产就绪的 pipeline,使用 5-fold cross-validation 进行优化。
  • Compete: 专为 ML 竞赛设计,利用 ensembling 和 stacking 来实现最大性能。
  • Optuna: 在计算时间不是限制因素时,使用 Optuna 框架进行密集的超参数调优。

Who it’s for

它专为数据科学家和 ML 工程师设计,希望在自动化表格数据监督学习 pipeline 的重复性部分的同时,保持对模型为何做出特定预测的完全可见性。

Highlights

  • Transparent Reporting: 自动生成包含指标、图表和模型特定细节(例如:决策树可视化)的详细 Markdown 报告。
  • Explainability: 集成了 SHAP 解释、排列重要性以及线性系数,使模型具有可解释性。
  • Web App Generation: 可以通过 Mercury 自动为非技术领域专家创建交互式预测 Web 应用。
  • Fairness Aware Training: 包括偏差缓解技术,如样本权重和智能网格搜索,以优化公平性指标。
  • Automatic Persistence: 自动保存和加载模型,允许在中断后恢复训练。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目