资讯

AUC 是什么?ROC 曲线下的面积,衡量模型排序好坏

2026-11-053 分钟阅读百科
TL;DRAUC(Area Under ROC Curve)是 ROC 曲线下的面积,取值在 0 到 1 之间,0.5 相当于随机猜测、1 为完美分类,它等于随机抽取一个正例和一个负例时模型给正例打分更高的概率,与阈值无关、衡量整体排序能力;可用梯形法或 Mann-Whitney U 统计量计算,但不反映概率校准,类别极不平衡时宜结合 PR-AUC。

AUC(Area Under the ROC Curve)是 ROC 曲线下的面积,是评价二分类模型最常用的指标之一。它用一个 0 到 1 之间的数字概括了模型区分正负两类样本的整体能力:AUC 越接近 1,模型越好;等于 0.5,相当于随机乱猜。本站另有“ROC 曲线”词条介绍曲线本身,这里重点讨论 AUC 的含义、计算和使用注意事项。

一个直观的含义

AUC 有一个非常直观的概率解释:从测试数据中随机抽取一个正样本和一个负样本,模型给正样本打的分数高于负样本的概率,就是 AUC。比如 AUC 等于 0.85,意思是随便拿一个正例和一个负例来比,模型有 85% 的可能把正例排在前面。所以 AUC 衡量的是模型的排序能力:它关心的是模型能否把正样本排在负样本前面,而不关心具体的分数是多少,也不依赖于某个特定的判定阈值。

如何计算

几何的方法:在不同的阈值下计算真阳性率和假阳性率,画出 ROC 曲线,再用梯形法则把曲线下的面积一小块一小块地加起来。排序的方法:根据上面的概率解释,可以直接计算:把所有的正样本和负样本两两配对,统计正样本得分高于负样本的对数所占的比例,分数相等的对记为一半。这与统计学中曼-惠特尼 U 检验的统计量是等价的。实际计算时,通常先把所有样本按分数排序,利用正样本的排名来高效地计算,而不需要真的逐对比较。

如何解读 AUC 的数值

一般经验上:0.5 左右说明模型几乎没有区分能力;0.6 到 0.7 较弱;0.7 到 0.8 尚可;0.8 到 0.9 较好;0.9 以上很好。但这只是粗略的参考,不同的领域差别很大:在一些容易的任务上 0.95 也不算出色,而在预测用户点击广告这样噪声很大的任务上,0.75 可能已经很不错了。如果 AUC 明显小于 0.5,说明模型的排序正好反了,把预测反过来就能得到一个好的模型,这往往意味着标签或代码中出了错误。如果 AUC 高得出奇,接近 1,也要警惕是否存在数据泄露,比如特征中混入了只有知道结果后才能得到的信息。

AUC 的优点

与阈值无关:不需要事先确定判定阈值,便于在选择阈值之前比较不同的模型。对类别比例不敏感:AUC 分别看正样本和负样本中的比例,正负样本的数量比例变化时,AUC 本身不会因此改变。这让它在不同数据集之间更具可比性。在广告点击率预测、信用评分、风险排序、搜索排序等需要“把好的排在前面”的场景中,AUC 是最常用的离线评价指标之一。

使用时的注意事项

不反映概率是否准确:AUC 只看排序,一个模型即使给出的概率都偏高或偏低,只要排序正确,AUC 就不受影响。如果需要使用概率本身,还要检查校准。类别极不平衡时可能过于乐观:当负样本数量远远多于正样本时,即使模型产生了大量的误报,由于负样本基数大,假阳性率仍然很低,AUC 看起来仍然很高。这时,精确率-召回率曲线下的面积往往更能反映模型在少数类上的真实表现。不一定反映业务关心的区域:在实际应用中,往往只关心排名最靠前的一小部分,比如只审核风险最高的前 1% 的交易,而 AUC 衡量的是整体的排序,两个 AUC 相近的模型在头部的表现可能相差很大,这时可以使用只计算部分区域的部分 AUC,或直接看前若干名中的精确率。