← 实验记录
进行中2026年6月25日

Exp021 · 分类模型 Plan_2 漏洞修复与三阶段消融实验

分类模型Blending消融实验数据泄露修复三阶段架构

实验目标

对原始 Plan_2 代码进行系统性漏洞审查与修复,完整复现「L1 NN 独立→串联 Cascade→并联 Blending」三阶段架构演进记录,同时修复原版 9 处已知缺陷。

原版漏洞清单

编号漏洞严重程度修复方案
1Optuna 在 Test 集寻优(Cell 5/8)致命改为 Val 集寻优
2只有 Train/Test 两段,无 Val 集致命切出 Train 60% / Val 20% / Test 20%
3NN 无 DataLoader、无早停重要加入 DataLoader(batch=64) + 早停(patience=25)
4FocalLoss alpha 固定 0.45重要改为 alpha = n_neg/(n_pos+n_neg) 自动计算
5树模型无类别不平衡处理重要全部加入 scale_pos_weight
6外部验证 fillna 用验证集 median次要改用训练集 median(保存至 config)
7特征手动硬编码 13 个次要自动提取全部 19 个
8图 C thresholds 长度不匹配次要改为独立全扫描 op_te_df
9无 Isotonic 概率校准次要加入 Isotonic(Val 集拟合)

三阶段架构消融结果

阶段一:L1 NN 独立(Val 集)

  • 阈值 t=0.0736,Recall=95.45%,FP=154,FN=2

阶段二:串联 Cascade(Val 集,默认阈值 0.5)

  • Recall=61.36%,FP=15,FN=17
  • 根因:L1 硬截断导致 L2 训练集分布形变,高危正样本大量被过滤,Recall 骤降

阶段三:并联 Blending(最终方案)

  • Optuna 搜索结果:NN=0.243,CatBoost=0.757,t=0.109
  • Isotonic 校准后操作点:t=0.055,Val FP=56,Val FN=7

最终 Test 集结果

指标数值
Sensitivity (Recall)88.89%
Specificity78.07%
FP / FN59 / 5
AUC-ROC0.903
Brier Score0.080

外部验证(Bayes 先验调整)

策略FPFNRecallSpec
原始融合910100%39.3%
Isotonic 校准后320100%78.7%
Bayes 调整(推荐)190100%87.3%

与 Plan_1 对比

Plan_2 与 Plan_1 最终版走相同的数据路线(NN + CatBoost Blending),差异仅在 Optuna 搜索到的权重分配(CatBoost 主导 0.757 vs NN 主导 0.883)。Test FP=59 高于 Plan_1 的 35,外部 FP=19 高于 Plan_1 的 10。

结论:Plan_2 消融实验价值在于记录 Cascade 为何失效,最终方案仍选 Plan_1。

代码文件

Week17/分类模型/Plan2探究和修改过程/plan_2/Plan_2_修复版.py