StatQuest

ROC and AUC分类器原理

2019-02-20  本文已影响7人  安哥生个信

前言

ROC和AUC,作为一个重要的分类器的评价指标,起初是为了增进军事雷达的敌我侦测能力而发展的。举例而言:雷达接收的无线电波可能只是噪声,也可能是噪声加上真正的电磁波,如果把噪声判为敌机,或把敌机 噪声加上真正的电磁波,因此选择一个合理的指标做为判断标准,显然是十分重要的。

分类模型(又称分类器)是将一个实例映射到一个特定类的过程。ROC分析的是二元分类模型,也就是输出结果只有两种类别的模型,例如:(阳性/阴性)(有病/没病)(垃圾邮件/非垃圾邮件)(敌军/非敌军)。

当讯号侦测(或变数测量)的结果是一个连续值时,类与类的边界必须用一个阈值(threshold)来界定。举例来说,用血压值来检测一个人是否有高血压,测出的血压值是连续的实数(从0~200都有可能),以收缩压140/舒张压90为阈值,阈值以上便诊断为有高血压,阈值未满者诊断为无高血压。二元分类模型的个案预测有四种结局:

真阳性(TP):诊断为有,实际上也有高血压。
伪阳性(FP):诊断为有,实际却没有高血压。
真阴性(TN):诊断为没有,实际上也没有高血压。
伪阴性(FN):诊断为没有,实际却有高血压。

然后我们根据预测结果可以得到混淆矩阵(Confusion Matrix)

00

阈值选择

假设我们已经有了一条拟合好的回归曲线,x轴表示小鼠的体中,y轴表示小鼠肥胖的概率

01

现在需要使用肥胖和不肥胖两种形式表示预测结果,我们可以将肥胖与否的阈值选择为0.5

02

如果有另外8个样本来(红色点表示非肥胖样本,蓝色点表示肥胖样本)验证模型

03

那么我们可以用Confusion Matrix来表示验证结果

04

如果将阈值降为0.1

05

Confusion Matrix变为

06

可以看出降低阈值后导致True Positive和False Positive增加,True Negative和False Negative降低

如果将阈值提高至0.9,预测结果又有变化

07

根据目前的三个选择,似乎较高的阈值(0.9)对于预测肥胖与否的效果会好些。那么是否还有更好的选择呢?

ROC

对某个分类器而言,将预测每一个样本为True Positive的概率输出,并且从小到大排序(或从大到小),依次将概率值作为阈值计算Sensitivity1-Specificity的值从而得到二维平面上的一个点。

调整这个分类器分类的时候使用的阈值,然后将所有点连接在一起,就可以得到ROC(Receiver Operating Characteristic)曲线。

08

ROC曲线的x轴为预测结果为假阳性的比例,y轴为预测结果为真阳性的比例

灵敏性Sensitivity=(True Positives)/(True Positives+False Nagetives)

特异性Specificity=(True Negatives)/(True Negatives+False Positives)

ROC曲线会经过(0,0)和(1,1)两点

在之前小鼠肥胖分类的案例中,如果我们将分类阈值设为0(此时所有样本被判定为肥胖)

09

那么对应的Confusion Matrix为

10

所以其Sensitivity1-Specificity的值均为1

11

然后我们选择最轻样本对应的肥胖概率作为阈值(此时其余样本被分类器判定为肥胖,而该样本被判定为非肥胖)

13

Sensitivity1-Specificity的值均为0.75和1

13

(0.75,1)这个点朝左边偏移,表示假阳性的预测概率降低,说明这个阈值比刚才那个0好

接下来我们分别选择倒数第二轻样本对应的肥胖概率作为阈值,倒数第三轻样本对应的肥胖概率,倒数第四……最后阈值为1时,Sensitivity1-Specificity的值均变为0。

将所有的点连接在一起,就获得了ROC曲线。

14

在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值,如在这个案例中,如果对假阳性要求比较高的话,可以选择左边箭头点对应的阈值;如果愿意忍受一定的假阳性,希望提高真阳性的话,可以选择右侧箭头点对应的阈值。

AUC

AUC(Area Under Curve),即ROC曲线下的面积。

ROC可以为分类器选择一个较好的分类阈值,而AUC可以表不同分类器的效能。AUC数值(面积)可以直观的评价分类器的好坏,值越大越好,如下图的对于两个分类器,我们通常会选择红色曲线对应的分类器。

15

Precision

上面所讲ROC的横轴为假阳性比例,但有时也可以用精确度(Precision)来表示。

精确性Precision=(True Positives)/(True Positives+False Positives)

如果非肥胖样本数目远超肥胖样本的话,那么精确性会比假阳性更适用一些,因为精确性的计算公式中不包含True Negatives,不会被这种不均衡性所影响。

16

Reference

https://www.youtube.com/watch?v=AJN2yl004-4&feature=youtu.be

http://www.labmed.cn/uploadfile/2015/0808/20150808063958641.pdf

https://zh.wikipedia.org/wiki/ROC%E6%9B%B2%E7%BA%BF

https://www.jianshu.com/p/091e5dc7f1f3

https://blog.csdn.net/u013385925/article/details/80385873

上一篇下一篇

猜你喜欢

热点阅读