正文
1
,第二个指标也为
1
。
我们以
FPR
为横轴,
TPR
为纵轴,得到
ROC
空间:
图
9‑11 ROC
空间示例图
我们可以看出,左上角的点
(TPR=1,FPR=0)
,为完美分类,也就是个高明全对的推断。左边离中线近一些的点
A(TPR>FPR)
,
A
的判断大体是正确的。中线上的点
B(TPR=FPR)
,也就是
B
可能全都是蒙的,对一半错一半;右下半的点
C(TPR
,这个推断很可能错误。上图中一个阈值,得到一个点。现在我们需要一个独立于阈值的评价指标,来衡量这个分类器如何,也就是遍历所有的阈值,得到
ROC
曲线。
还是以图
9-10
为例,我们可以遍历其中所有的阈值,能够在
ROC
平面上得到
ROC
曲线。如图
9-12
所示
ROC
曲线。
图
9‑12 ROC
曲线示例图
曲线距离左上角越近,证明分类器效果越好。
图
9‑13
三种分类器得出的不同
ROC
曲线示例图
如图
9-13
所示的示例,是三条
ROC
曲线,若在
0.23
处取一条直线。那么,在同样的低
FPR=0.23
的情况下,最外侧那条线的分类器得到更高的
PTR
。也就表明,
ROC
越往上,分类器效果越好。我们用一个标量值
AUC
来量化她。
如图
9-14
所示,
AUC
值为
ROC
曲线所覆盖的区域面积,显然,
AUC
越大,分类器分类效果越好。
AUC = 1
,是完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
0.5 < AUC< 1
,优于随机猜测。这个分类器(模型)若妥善设定阈值的话,能有预测价值。
AUC = 0.5
,跟随机猜测一样(例:抛硬币),模型没有预测价值。
AUC < 0.5
,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。
图
9‑14 AUC
示例图
假设分类器的输出是样本属于正类的
score
(置信度),则
AUC
的物理意义为,任取一对(正、负)样本,正样本的
score
大于负样本的
score
的概率。
第一种方法:
AUC
为
ROC
曲线下的面积,那我们可直接计算面积。面积为一个个小的梯形面积之和。计算的精度与阈值的精度有关。
第二种方法:根据
AUC
的物理意义,可计算正样本
score
大于负样本的
score
的概率。取
N*M(N
为正样本数,
M
为负样本数
)
个二元组
,
比较
score
,最后得到
AUC
。时间复杂度为
O(N*M)
。
第三种方法:实际上和第二种方法是一样的,但可减小复杂度。直接计算正样本
score
大于负样本的概率。我们首先把所有样本按照
score
排序
,
依次用
rank
表示他们
,
如最大
score
的样本
rank=n(n=N+M)
,其次为
n-1
。那么对于正样本中
rank
最大的样本
rank_max,
有
M-1
个其他正样本比他
score
小
,
那么就有
(rank_max-1)-(M-1)
个负样本比他
score
小。其次为
(rank_second-1)-(M-2)
。最后我们得到
AUC
。时间复杂度为
O(N*M)
。即:
AUC=((
所有的正例
rank