返回 经典机器学习 思维导图
中文·English
📊 经典机器学习ID: roc-auc

ROC-AUC

🎯核心定义
遍历所有分类阈值, 以真正率 TPR=TPTP+FNTPR = \frac{TP}{TP+FN} (= Recall) 为纵轴、假正率 FPR=FPFP+TNFPR = \frac{FP}{FP+TN} (= 1 - 特异度) 为横轴画曲线, AUC = 曲线下的面积。阈值降低时 TPR 单调上升, FPR 也随之增大; 关键点: (0,0) = 阈值无穷大全判负, (1,1) = 阈值负无穷全判正, 对角线 TPR=FPRTPR = FPR 对应随机猜测 (AUC = 0.5)。AUC 的概率解释: 随机抽一个正样本的分数高于随机抽一个负样本分数的概率, AUC=P(s+>s)AUC = P(s_{+} > s_{-}), 与阈值、类别比例无关, 是纯排序指标。手算例: 4 个样本分数 [0.9, 0.7, 0.5, 0.3], 标签 [+, -, +, -], 正负对共 2×2=42 \times 2 = 4 对, 分数正确的对: (0.9, 0.7)、(0.9, 0.3)、(0.5, 0.3) 共 3 对, 只有 (0.5, 0.7) 反序, 故 AUC=3/4=0.75AUC = 3/4 = 0.75
💡使用场景
二分类与排序能力评估 (信贷、推荐、搜索), 面试必问“AUC 怎么算、怎么解释”; 也常用于模型选择与超参调优, 因为 AUC 不依赖具体阈值。
解决的核心痛点
准确率、PR 都需要指定阈值才能比较, 而 AUC 把“排序质量”与阈值解耦, 一个数字综合所有阈值下的表现; 但正负类极度不平衡时, FPR 分母 FP+TNFP+TN 被海量负类撑大, 少数假阳性对 FPR 几乎无影响, ROC 曲线显得过于乐观, 此时应改用 PR 曲线 (PR 对基线 P=ρP = \rho 敏感, 能暴露排序被负类污染的模型); AUC 基于排序故对类别比例不敏感, 且它不直接给出业务关心的“某阈值下的 TPR/FPR 点”——需要结合阈值曲线一起选点。
🎯5 个高频面试考点 (Exam Points)
1
手算 AUC: 4 个样本分数 [0.9, 0.7, 0.5, 0.3]、标签 [+, -, +, -], 用正负对计数求 AUC?
2
AUC 的概率解释是什么? 为什么随机猜测 AUC ≈ 0.5、完美排序 AUC = 1?
3
如何从模型分数画出 ROC 曲线 (阈值扫描, 每步更新 TPR/FPR)? AUC 如何用梯形法计算?
4
类别极不平衡时为什么用 PR 曲线而不用 ROC? 为什么 AUC 对类别比例不敏感?
5
AUC = 0.75 的模型如何选实际业务阈值? AUC 为什么不能直接给出 TPR/FPR 工作点?
📖 关联深度指南:📄 ml-math-and-eval-metrics
更新于 2026-08-12
🎯
检验攻克程度:针对「ROC-AUC」专属刷题排雷
做单选排雷题、推导选项机制,答错自动收录进专属错题本。
🚀 开始本考点专项刷题
上一个知识点Precision/Recall/F1下一个知识点NDCG

🔗 更多 经典机器学习 知识点卡片

AdaBoost 算法手推Bagging 与随机森林HMM 参数学习 Baum-WelchGBDT 负梯度拟合