M2-073M2: Classical Machine LearningClass Imbalance LearningMedium
Mastery:

Class Imbalance Learning: 为什么不平衡数据下应优先看 PR-AUC 而不是 ROC-AUC?

📐 Mathematical Definition
PR-AUC 更敏感于 #P\text{PR-AUC}\ \text{更敏感于}\ \#P
⚡ Executive Summary
Core Concept: ROC 的 FPR 分母是大量负样本,被稀释后曲线仍好看;PR 曲线对少数类更敏感。

📌 Key Takeaways

  • •
    ROC-AUC 在极端不平衡下过于乐观
  • •
    报告时同时给 precision/recall 与阈值

📐 Mathematical Derivations

数学原因:<strong>ROC 曲线的横轴 FPR=FP/(FP+TN)</strong>,分母包含全部负样本(TN 巨大)。当负样本极多时,即使 FP 数量不小,FPR 仍可能很小,使 ROC 曲线保持'好看'(AUC 接近 1)。而 <strong>PR 曲线的纵轴 Precision=TP/(TP+FP)</strong> 只涉及正类预测,不受负样本规模的稀释,故对少数类的检测质量更敏感。<strong>量化例子</strong>:设 1000 个样本中 10 个正类、990 个负类;若模型预测 100 个为正(其中 8 个真正类),则 TP=8、FP=92、FN=2:Precision=8/100=8%(很差),Recall=8/10=80%;而 FPR=92/990=9.3%(看起来还行)。ROC 会显示'中等不错'的表现,PR 则暴露 Precision 极低的事实。<strong>结论</strong>:在极端不平衡(正类占比 <5%)时,ROC-AUC 会给出误导性的乐观评价,应优先用 PR-AUC。

🏭 Production Trade-offs

实践要点:① <strong>两个指标都要报告</strong>——PR-AUC 敏感于正类,ROC-AUC 敏感于两类整体;报告两者并说明数据不平衡程度(正类比例),避免片面解读。② <strong>与阈值无关性</strong>——PR-AUC 与 ROC-AUC 都是阈值无关的(对全阈值积分),但 PR-AUC 的基线是<strong>正类比例</strong>(而非 0.5),故必须与'随机分类器的 PR-AUC = 正类比例'比较(如正类 1% 时 PR-AUC 0.05 已显著优于随机);这是 PR-AUC 解读的关键。③ <strong>F1 与 PR-AUC 的区别</strong>——F1 是<strong>单一阈值</strong>下的指标(依赖阈值选择),PR-AUC 是<strong>全阈值</strong>的综合;两者互补:PR-AUC 衡量排序质量,F1 衡量具体工作点的性能。④ <strong>不平衡时的其他选择</strong>——若关注 top-k 精度(如推荐场景只推 top-100),用 Precision@K 或 Recall@K 更直接;若需单一标量,可用<strong>平衡准确率</strong>(balanced accuracy,两类召回的平均)或<strong>MCC(马修斯相关系数)</strong>(对不平衡鲁棒且考虑全部混淆矩阵元素)。⑤ <strong>不要用 accuracy</strong>——多数类占比 99% 时,全预测为多数类的准确率就是 99%,完全无信息。
⚠️ Common Interview Pitfalls
  • ✕
    在极端不平衡下只看 ROC-AUC
  • ✕
    把 PR-AUC 与 0.5 比较(其基线是正类比例)
🎯 Interviewer Follow-ups
  • ?
    不平衡时准确率为啥没用?
  • ?
    F1 与 PR-AUC 的区别?
📚

Associated Knowledge Base Guides & Mindmaps

Explore the comprehensive technical article, exam cards, and global architecture tree.

← PreviousM2-072: Class Imbalance Learning: SMOTE 的原理是什么?有什么风险。📋Back to BankNext →M2-074: Class Imbalance Learning: 如何选择分类阈值?不同业务目标下的策略。