mljar-supervised:表格数据的自动化机器学习工具
mljar-supervised:表格数据的自动化机器学习工具
做表格数据建模时,重复性的代码总是不少。数据预处理、模型选择、超参调优、结果记录,每一步都要写一堆代码。mljar-supervised 这个项目想把这串流程自动化,目前在 GitHub 上积累了 3,265 个 Star。
它是一个纯 Python 包,专门处理结构化表格数据。用户只需要准备好数据,调用 fit 方法,就能自动完成从预处理到模型训练的全过程。

四种训练模式
项目内置了四种工作模式,分别对应不同的使用场景。
Explain 模式侧重数据理解。它会用决策树可视化、线性模型系数、排列重要性、SHAP 值等手段,帮助用户弄清楚数据里到底发生了什么。该模式使用 75%/25% 的训练测试划分。
Perform 模式面向生产环境。采用 5 折交叉验证,集成 Linear、Random Forest、LightGBM、Xgboost、CatBoost 和 Neural Network 的预测结果,输出可以直接部署的模型。报告包含学习曲线和特征重要性。
Compete 模式为竞赛设计。除了集成,还支持堆叠构建二级模型。验证策略会根据数据集大小和总时间限制自动调整,可能是 80/20 划分、5 折或 10 折交叉验证。可用的算法最全,报告只保留学习曲线。
Optuna 模式追求极限性能。利用 Optuna 框架配合 TPE 采样器,对 Random Forest、Extra Trees、LightGBM、Xgboost 和 CatBoost 进行深度调参。配合 10 折交叉验证、高级特征工程和堆叠,适合算力充足且对精度要求高的场景。

覆盖主流算法与预处理
项目支持的算法比较全面,包括 Baseline、Linear、Random Forest、Extra Trees、LightGBM、Xgboost、CatBoost、Neural Networks 和 Nearest Neighbors。集成策略基于 Caruana 论文中的贪心算法,Compete 和 Optuna 模式还能做模型堆叠。
预处理环节也做了不少工作。缺失值自动填充、类别变量转换、目标值预处理都是标配。高级功能包括 Golden Features 自动构造、特征选择、文本变换和时间变换。超参搜索采用预定义集合上的随机搜索,配合爬山算法做精调。
自动文档与可解释性
每次 AutoML 训练结束后,项目会自动生成 Markdown 报告。报告里包含所有模型的得分排行、训练耗时、性能散点图和箱线图。点击单个模型可以查看详细指标、学习曲线和特征重要性图表。决策树模型还会输出带可视化树结构的专项报告。
可解释性方面,所有算法都会计算排列重要性,同时生成 SHAP 特征重要性、依赖图和决策图。用户可以通过 explain_level 参数关闭或调整解释内容的详细程度。线性模型的系数表也会呈现在报告中,方便对比不同特征的影响方向。
公平性训练
从 1.0.0 版本开始,项目加入了公平性感知训练。用户可以通过 fairness_metric 指定公平性指标,通过 fairness_threshold 设置阈值,并定义 privileged_groups 和 underprivileged_groups。模型会在满足公平性约束的集合里选择最优。
支持的纠偏方法包括样本加权和智能网格搜索。公平性训练可与所有算法、集成和堆叠集成一起使用,适用于二分类、多分类和回归三种任务类型。报告中会增加公平性指标的相关信息。
上手门槛与使用方式
安装通过 pip 或 conda 均可。要求 Python 3.9 以上,NumPy 2.0 以上。
代码接口很简洁。初始化 AutoML 对象,调用 fit 方法传入 X 和 y 进行训练,调用 predict 方法做预测。所有模型自动保存在 results_path 指定的目录,训练中断后重新运行相同代码即可从断点续训,无需手动调用 save 或 load。
如果你经常处理表格数据的机器学习任务,希望减少重复代码,同时保留对模型和流程的可解释性,这个工具可以纳入考虑。
格数据的机器学习任务,希望减少重复代码,同时保留对模型和流程的可解释性,这个工具可以纳入考虑。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)