yzhao062/combo
(AAAI' 20) A Python Toolbox for Machine Learning Model Combination
解决的问题
combo 是一个 Python 工具箱,帮助您将多个机器学习模型及其预测得分合并为一个更强大的结果。训练多个模型并融合其输出,通常比单独使用任何一个模型都能获得更高的准确率和鲁棒性。该库使这一组合步骤在分类、聚类和异常检测任务中变得简单且一致。
工作原理
combo 为来自 scikit-learn、XGBoost 和 LightGBM 的模型提供统一的 API。您首先准备一个基础估计器列表(例如,决策树、逻辑回归、k-最近邻、随机森林)。然后选择一种组合方法——如简单平均、加权平均、多数投票,或更高级的策略,如堆叠(元学习)、动态分类器/集成选择(DCS/DES)和聚类集成(EAC)。该库还包含针对异常检测器的专用组合方法,如最大值平均(AOM)和局部选择性组合(LSCP)。所有方法共享相同的 fit / predict / predict_proba 接口,因此更换策略非常简单。在可能的情况下,它使用 numba 和 joblib 来加速计算。
适用人群
希望通过对多个训练好的模型进行组合来提升模型性能的数据科学家、ML 实践者和研究人员,尤其适用于分类、聚类或异常/异常检测任务。对于准备 Kaggle 风格竞赛提交的人员也非常有用,因为集成方法通常能显著提升得分。
主要亮点
- 所有组合方法均采用统一 API —— 相同的
fit/predict/predict_proba模式。 - 覆盖通用组合(平均、加权平均、最大值、中位数、多数投票)以及高级方法(堆叠、DCS、DES、EAC、LSCP、XGBOD)。
- 与流行的 ML 库兼容:scikit-learn、XGBoost、LightGBM 和用于异常检测的 pyod。
- 包含分类器组合、聚类组合和异常检测器组合的具体示例及样本输出。
- 在可能的情况下,使用 numba(JIT)和 joblib(并行化)进行优化。
相关
- 项目
- 项目
- 项目
- 项目