SuperAPI AI 工具集

binary-classification

数据与分析

查看项目

更新于 10-15 17:29

技能介绍

用途:在表格数据上构建可部署、可信赖的二分类模型,默认使用 XGBoost。适用于目标为二值(0/1、是/否、流失/留存、欺诈/正常)、特征为表格型(数值、类别、日期)、至少有数百条带标签样本,且同时关注排序能力与概率校准的场景。不适用于多分类、多标签、少于 100 行的小数据集、强时间结构的时序问题,或需要完整贝叶斯后验的决策分析。

主要能力:用 ibis(ibis-framework[duckdb])读取 parquet/csv 并做聚合与特征工程,在交给 sklearn 前用 .execute() 一次性物化;用 sklearn Pipeline 封装 ColumnTransformer(StandardScaler、OneHotEncoder)与 XGBClassifier,使预处理随模型保存加载;用 scale_pos_weight 处理类别不平衡而非重采样;在验证集上扫描阈值以优化 F1 或成本加权指标;用 Brier 分数与可靠性图检查校准,必要时用 CalibratedClassifierCV;用 SHAP TreeExplainer 做全局与单样本解释;用 MLflow 记录参数、指标、标签与产物。

使用方式:按项目结构组织 data、src(train.py、predict.py、plots.py)、notebooks 与 mlruns;训练时先算类别比例得到 scale_pos_weight,构建 Pipeline 后拟合,再在验证集上选阈值,最后记录 ROC-AUC、PR-AUC、log-loss、Brier、调优后 F1 等指标及图表。

限制与注意:不要用准确率作为不平衡数据的主指标;不要在测试集上调阈值;不要跳过校准检查;不要依赖内置 feature_importances_;不要未经测量就对表格数据使用 SMOTE;注意特征泄漏与分层切分。示例中 demo.py 为演示目的在测试集上调阈值,生产环境应保持验证集与测试集分离。