ROC & AUC 可视化

什么是 ROC 曲线?

ROC 曲线(Receiver Operating Characteristic Curve,受试者工作特征曲线) 是评估二分类模型性能的重要工具。它通过展示不同分类阈值下的 真正例率(TPR)假正例率(FPR) 的变化关系,直观反映模型对正负类的区分能力。

阈值从高到低扫描 纵轴:TPR(召回) 横轴:FPR AUC 越大越好
展开更多说明
直觉: 阈值降低会让更多样本被判为正类,通常 TPR↑FPR↑
对比基线: 随机分类器的 ROC 是对角线(AUC≈0.5);完美分类器 AUC=1。
💡

在类别极不平衡场景,最好同时参考 PR 曲线;ROC 对负类数量变化不如 PR 敏感。

同一数据量 + 种子 ⇒ 可复现实验;分布更“像样”,AUC 更稳定

分数分布(直方图)

• 模式一:直方图(区间标签 [a,b)),模式二:散点条带图
• 阈值右侧高亮,左侧变灰/变淡;红线为当前阈值
🎯

阈值(Threshold)是什么?

收起

阈值用来把连续分数 score 转成二分类标签: 当 \( \text{score} \ge t \) 预测为正类(1),否则为负类(0)。 拖动滑块会改变混淆矩阵、指标(Precision/Recall/FPR/TPR)、分布图着色,以及 ROC 曲线上红点的位置。

当阈值 降低(更宽松)
  • 更多样本被判为正类:TPR ↑、FPR ↑
  • Precision 可能下降,Recall 通常上升
当阈值 提高(更严格)
  • 更少样本被判为正类:TPR ↓、FPR ↓
  • Precision 可能上升,Recall 通常下降

如何选择阈值?

Youden’s J
最大化 \( J = \text{TPR} - \text{FPR} \)。
适合均衡关注召回与误报的场景。
最大 F1
选择使 \( F1 = \frac{2PR}{P+R} \) 最大的阈值。
适合类别不平衡、同时看精确率与召回率。
代价敏感
若误报/漏报代价为 \(C_{FP}, C_{FN}\),且分数近似概率,
当 \( p(y{=}1\mid x) \ge \dfrac{C_{FP}}{C_{FP}+C_{FN}} \) 预测为正更划算。
💡

若分数未校准(不等于真实概率),先做 Platt/Isotonic 校准,再用代价敏感规则挑阈值更靠谱。

ROC / PR 曲线

TPR 对 FPR 的曲线,面积即 AUC
📈

AUC 是什么?为什么重要?

AUC(Area Under the ROC Curve)是 ROC 曲线下的面积,取值范围为 [0, 1]。 其经典概率解释为:从一个正类样本与一个负类样本中各随机抽取一个,模型给正类的分数高于负类的概率: \( \text{AUC} = \Pr\big(s_{+} > s_{-}\big) \)。 因此 AUC 越大,模型整体排序区分能力越强。

≈ 0.5
接近随机
0.7–0.8
尚可
0.8–0.9
良好
≥ 0.9
优秀

典型应用

  • 模型选择与对比:在统一数据集上比较多个二分类器的整体区分能力。
  • 特征工程/阈值策略前的评分排序评估:不依赖单一阈值。
  • 数据漂移监控:AUC 持续下降可能提示分布漂移或标注质量问题。
  • 不均衡问题初筛:类别极度不均衡时仍可作为“排序能力”的稳健指标。
注意事项与实践建议
与业务阈值的关系: AUC 衡量整体排序,不反映某个具体阈值的性能;落地时仍需结合 Precision/Recall、FPR、成本函数选阈值。
类别极不平衡: ROC/AUC 对负类样本数不敏感;若正类稀缺,更建议同时看 PR 曲线与 AUC-PR。
统计显著性: 对比两个模型的 AUC 时,可用重采样(Bootstrap)或 DeLong 检验评估差异是否显著。
校准与可解释: AUC 评估排序,不代表概率校准好坏;若需要概率可用性,还应评估 Brier Score、可靠性图等。
💡

拖动阈值会改变 ROC 曲线上的红点位置,但 AUC 作为整体面积一般不随阈值改变(除非样本/分数分布变了)。