AUC与ROC—衡量分类器的好坏

二元分类器是指要输出(预测)的结果只有两种类别的模型,既然是一种预测模型,则实际情况一定是有些结果猜对了,有些结果猜错了。因为二元分类器的预测结果有两种类别,对应其真实值,则会有以下四种情形:

  1. 预测为阳性,真实为阴性(伪阳性)
  2. 预测为阴性,真实为阳性(伪阴性)
  3. 预测为阴性,真实为阴性(真阴性)
  4. 预测为阳性,真实为阳性(真阳性)

ROC 空间

在信号检测理论中,接收者操作曲线(receiver operating characteristic curve)是一种坐标图式的分析工具。

ROC空间是一个以伪阳性率(FPR,false positive rate)为X轴,真阳性率(TPR, true positive rate)为Y轴的二维坐标系所代表的平面。

TPR:真阳性率,所有阳性样本中(TP+FN),被分类器正确判断为阳的比例。

TPR = TP / (TP + FN) = TP / 所有真实值为阳性的样本个数

FPR:伪阳性率,所有阴性样本中(FP+TN),被分类器错误判断为阳的比例。

FPR = FP / (FP + TN) = FP / 所有真实值为阴性的样本个数

我们想象这样一个场景,接触阳性样本可以给我们带来收益,接触阴性样本则会给我们造成成本。并且如果我们接触样本中所有的阳性样本,我们的收益是1,接触样本中所有阴性样本,我们的成本也是1。如果不接触样本,则既不产生收益也不产生成本。自然的,如果不适用分类器,接触所有样本,则总的效益为1-1=0。现在让我们利用分类器来决定是否接触样本,分类器预测为阳,我们就去接触样本,分类器预测为阴,我们就不去接触。

那么一个分类器的分类效果就对应ROC空间里的一个点:

 

A,B,C三个点可以分别代表三个不同的分类器对同样的样本做预测的结果。

最好的方法是A,因为他的收益大于成本(TPR>FPR),最差的是C(TPR<FPR)。中等的是B,即随机分类器。

这里有趣的一点是若把C以(0.5, 0.5)为中点作一个镜像,得到C’, C’的效果比A要来的好。C’相当于一个做与C预测结果完全相反的分类器。

实际的应用当中,分类器还会给出它预测某个样本为阳的概率,并且有一个事先给定的门槛值(threshold),概率高于threshold的就预测为阳性,低于threshold的就预测为阴性。假设以下是某个分类器对id为1-10的客户的分类结果:

其中probability of 1为分类器判断该样本为阳性的概率,true class为该样本的真实情况。
  如果我们把threshold定位0.5,即去接触id为1~8的客户。此时

TPR = TP / 所有真实值为阳性的样本个数 = 6 / 6 = 1
FPR = FP / 所有真实值为阴性的样本个数 = 2 / 4 = 0.6

  同理,如果我们把threshold定位0.8,即去接触id为1~5的客户。此时

TPR = TP / 所有真实值为阳性的样本个数 = 4 / 6 = 0.67
FPR = FP / 所有真实值为阴性的样本个数 = 1 / 4 = 0.25


这两个threshold分别对应ROC空间中的两个点A、B

上面的例子当中,共有10笔预测数据,则一共有11种threshold的设定方法,每一个threshold对应ROC空间中的一个点,把这些点连接起来,就成了ROC曲线。


原文地址:https://www.cnblogs.com/dreamafar/p/6238328.html