ROC和AUC

ROC(Receiver Operating Characteristic,接收者操作特征)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣,对于分类器,或者说分类算法,评价指标主要有precision,recall,F-score以及ROC和AUC。

TP真正例,FP假正例
FN假负例,TN真负例
ROC和AUC

1.真实的数据是不均衡的,比如100个人平均只有2个患癌症,98个不患癌症,你要是一个全部判不患癌症的分类器用accurary去判定,也就是98%和100%区别,差别不大。
2.另外一个事实,(假正例)未患病的人看成患病和(假负例)将患病的人判断未患病,这两种情况都会造成很大的代价。但是在不同的情况下,某种类型判断的错误是更加不能被接受的。比如你可以告诉病人我们这次检查不能判断你得病了,但是你如果跟正常人说你得病了,后者肯定要更严重一些

ROC和AUC正是基于第二个事实去进行评估。
关于ROC曲线,ROC曲线的横坐标为false positive rate(FPR),纵坐标为true positive rate(TPR)。
TPR=TP/P,灵敏度;
FPR=FP/N,1-specificity;

对于二分类的问题,一般选取阀值t,使判断概率大于t的为正,小于t的为负
下面考虑ROC曲线图中的四个点和一条线。
第一个点,(0,1),即FPR=0, TPR=1,这意味着FN(false negative)=0,并且FP(false positive)=0。Wow,这是一个完美的分类器,它将所有的样本都正确分类。
第二个点,(1,0),即FPR=1,TPR=0,类似地分析可以发现这是一个最糟糕的分类器,因为它成功避开了所有的正确答案。
第三个点,(0,0),即FPR=TPR=0,即FP(false positive)=TP(true positive)=0,可以发现该分类器预测所有的样本都为负样本(negative)。
类似的,第四个点(1,1),分类器实际上预测所有的样本都为正样本。经过以上的分析,我们可以断言,ROC曲线越接近左上角,该分类器的性能越好。

绘制ROC曲线:

具体绘制顺序,首先按照预测概率将元组按递减得分排序,
ROC和AUC

对于每一个元组,将这个元组的预测概率作为阈值t,然后对于每个元组来说,他现在都被判断成正元组,如果它实际上也是真的,那就是真正例+1,如果实际上是假的,那就是假正例+1,然后P,N的总数是一定的,用当前的真正例数和假正例数除以对应的P,N就可以了
ROC曲线做出来如下:
ROC和AUC

如果模型真的很好,那应该概率比较高的是真正例,概率比较低的是假正例,这种情况下,曲线应该是开始很陡峭从0开始上升,后来曲线变得平缓而变得水平。

发表评论

电子邮件地址不会被公开。