AUC
AUC (Area Under Curve)
定义
- 定义1:ROC曲线所围成的面积
- 定义2:分别随机从正负样本集中抽取一个正样本,一个负样本,正样本的预测值大于负样本的概率。
ROC曲线
横坐标为伪阳性率 (FPR: False Positive Rate),纵坐标为真阳性率 (TPR: True Positive Rate)
预测 | |||
---|---|---|---|
1 | 0 | ||
实际 | 1 | TP | FN |
0 | FP | TN |
FPR:负样本中判为正例的概率
TPR:正样本中判为正例的概率(Recall)

ROC曲线上的每一个点对应于一个threshold,对于一个分类器,每个threshold下会有一个TPR和FPR。比如Threshold最大时,TP=FP=0,对应于原点;Threshold最小时,TN=FN=0,对应于右上角的点(1,1)
AUC的优点
- 评估效果不受阈值选择的影响。
- 当测试集中的正负样本分布发生变化了,ROC曲线可以保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。

在上图中,(a)和(c)为ROC曲线,(b)和(d)为Precision-Recall曲线。
(a)和(b)展示的是分类其在原始测试集(正负样本分布平衡)的结果,(c)和(d)是将测试集中负样本的数量增加到原来的10倍后,分类器的结果。
可以明显的看出,ROC曲线基本保持原貌,而Precision-Recall曲线则变化较大。
AUC计算方式
方法一:
积分算面积
方法二:
任意给一个正类样本和一个负类样本,正类样本的score有多大的概率大于负类样本的score。
然后在有限样本中用频率估计概率
举个例子:
score | 0.9 | 0.8 | 0.7 | 0.7 | 0.7 | 0.5 | 0.4 |
---|---|---|---|---|---|---|---|
正 | 负 | 负 | 正 | 正 | 负 | 正 |
score为0.9的正样本,后面有3个负样本
score为0.7的两个正样本,后面各有1.5个负样本(0.7的负样本因为和他们同分,算0.5 个)
改进:Group AUC
以广告领域,在样本中有多个用户时,A用户的正例和B用户的负例就没有比较意义的(因为用户广告之间的排序是个性化的,不同用户的排序结果不太好比较,可能auc这个指标失真了)
所以可以先求每个用户的AUC,再求加权和