Receiver Operating Characteristic(ROC) Curve and Area Under Curve(AUC)

来源:互联网 发布:微分几何 知乎 编辑:程序博客网 时间:2024/05/16 11:06

在一个二分类的分类器中,ROC曲线和AUC是两种用以评价分类好坏的方法。


ROC曲线

ROC曲线可以认为越靠上代表分类效果越好,网上的介绍是非常的多,在这里重点是在说明其中的一个应用,下面还会有部分介绍,但是具体没有提及的部分可以网上另外查,不是本文重点。

常用的二分类算法如逻辑回归,往往需要根据业务需求设定一个临界值(用以分开0和1,默认是0.5)。

我们举一个列子来说明这个临界值(Threshold)的作用,假设真实中有250个人信用卡会违约(Negative),250个人信用卡不会违约(Positive)。如下图所示,蓝色代表违约的人群分布,红色代表不违约的人群分布,这个例子中分类的效果还是挺好的,基本把两个人群分布分开了,ROC曲线也在左上角一小部分。图形的X轴代表预测的概率值,我们可以选择一个临界值作为0和1分类的分界点,Y轴代表观察的数量。

假如把临界值设为0.3,则左边星星面积部分可以认为被判断成违约(Negative)的人数是175个(也就是说有75个人错误地分类到不违约中),真实不违约的人100%都预测正确了,在这个例子中X值是0.3,Y值代表有大概50个人的预测概率等于0.3(根据高度瞎猜的)。

假如把临界值设为0.5,则左边划线部分面积代表的违约人数是250个,与真实值一样,但是因为有重叠的部分,250人被分类到违约的人中有大概20个人(根据图形比例瞎猜的)真实是不违约的(Positive)而错误地分类到了违约(Negative),也有大概20个人真实是违约的,但被分类到了不违约中。




上述的例子当然是一个比较理想的分类器,如果我们遇到的分类结果没那么好的时候,ROC曲线包括其临界值该怎么设定呢?

同样还是上面的例子,这时候可以看到整个违约的人群分布右移了(可以理解为坏人聪明了,懂得了伪装自己更接近好人,不会再有那种预测概率只有0.1那么明显的违约人士了,当然也有可能这个第二件银行,用的分类算法较上面的银行弱多了)。这时候两个人群的分布重叠的部分大多了,我们无论把临界值设在哪里都会较上一个产生更多的错误分类。

假如我们秉着“宁可杀错一万,不可放过一人”(有杀错冇放过)的信念把临界值设到0.8,则右边划线面积代表只有50个人(根据图形比例瞎猜的)会被分类到不违约(Positive)中,其余450人都会被归为违约(Negative),真实是不违约而错判的人有200个。

说了这么多我们回到ROC曲线上面去,ROC曲线的Y轴是TPR(True Positive Rate/Sensitivity),TPR=TP/(All Positive),X轴是FPR(False Positive/1-Specificity),FPR=FP/(All Negative)。因此拿第二个例子计算一下,TPR=50/250=0.2,FPR=0/250=0,因此我们取点(0,0.2)如下图ROC曲线所示,代表临界值的点。



AUC

AUC则是另外一个用于评估分类好坏的方法,其与ROC是相关联的(就是代表ROC曲线下面的面积,如下图所示的阴影部分)。分类的效果越好,ROC曲线越靠上,AUC的值越大。AUC值一般是在0.5到1之间浮动,如果AUC小于0.5,代表模型的精准度甚至不如瞎猜(瞎猜是0.5),同理,如果AUC等于1,则表明分类精度达到100%。


    假设AUC的值是0.8,我们可以解读为:随机选择一个数据,有80%的机会它的True Positive(真实是正的样本被预测为正)得分会高于False Positive(真实为负的样本被预测为正)。

    

    几点关于ROC和AUC的补充说明:

    1. ROC是最常用的用于评估二分类器好坏的方法,它着重于图形化得出直观结论,而AUC则是通过single number总结模型好坏。

    2. AUC用在Unbalanced data也完全没有问题

    3. ROC在预测概率不是“精确校准”(比如概率不是正常的0~1)的情况下也有用

    4. ROC也可以扩展用在多分类器的评估上:假设有3个类别(画三个ROC图)

           Class 1 Vs Class 2 & 3

           Class 2 Vs Class 1 & 3

           Class 3 Vs Class 1 & 2

    5. ROC曲线的临界值并没有说那个值是好是坏,更多是根据业务需求定的一个值(瞎举个例子,信用卡部门可能更多关心不违约的用户,尽可能地最大化利润,因此可以接受一个更低的临界值)

    6. 上面的例子不代表现实世界案例,现实中更多的是不平衡的分类

    7. 上面例子中两个类别的人群都是服从正态分布的,而现实中的分布各种各样

0 0