简单理解ROC,AUC

前言

初入人工智能行业,还在学习阶段,简单谈谈自己对ROC,AUC的理解,便于自己的以后的学习之路。第一次写博客,理解较浅,如有错误的地方,请指出

一、ROC

1.混淆矩阵
(1)TP(True Postive):预测为正例,实际也为正例,判对。
(2)FN(False Negative):预测为负例,实际为正例,判错。
(3)FP(False Postive):预测为正例,实际为负例,判错。
(4)TN(True Negative):预测为负例,实际也为负例,判对。
混淆矩阵如下,1代表正例,0代表负例
简单理解ROC,AUC
2.ROC曲线
ROC(receiveroperating characteristic):受试者工作特征
(1) TPR(True Postive Rate): TP / (TP+FN),代表分类器预测的正类中实际正实例占所有正实例的比例。
(2) FPR(False Postive Rate): FP / (FP+TN),代表分类器预测的正类中实际负实例占所有负实例的比例。
(3) TNR(True Negative Rate): TN / (FP+TN),代表分类器预测的负类中实际负实例占所有负实例的比例。
ROC曲线中,X轴为False Positive rate,Y轴为True Postive rate
简单理解ROC,AUC
假设采用逻辑回归分类器,每个实例给出的概率在(0,1)之间。
a. 当阈值为0时,所有实例都被判为正例,没有负例,FN = 0,TN = 0,TPR = TP / TP = 1,FPR = FP / FP = 1,对应的ROC曲线上的点(1,1)
b. 当阈值为1时,所有实例都被判为负例,没有正例,FP = 0,TP = 0,TPR = 0 / 0 + FN = 1,FPR = 0 / (0 + TN) = 0,对应的ROC曲线上的点(0,0)
c. 当阈值由大变小时,越来越多的正例被判为负例,对应的TP、TN不变,FN减小,FP增大.
TPR = TP /(TP+FN),也增大。
FPR = FP /(FP+TN)=1 - TN /(FP + TN),也增大。
d. 每一个阈值点,对应的ROC曲线上的一个点,所有的点组成ROC曲线。

二、AUC

AUC(Aera under curve):ROC曲线下面的面积,由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围一般在0.5和1之间。AUC作为数值可以直观的评价分类器的好坏,值越大越好。

AUC数值评判分类器的标准:
(1)AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
(2)0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
(3)AUC = 0.5,跟随机猜测一样,模型没有预测价值。对应的ROC曲线中的45°的虚线。
(4)AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

AUC = 1 时,即TP = 1,FP = 0,分类器最完美,也就是说在ROC曲线(0,1)点的位置的分类器最完美,但不存在这个完美的分类器,所以说在ROC曲线上,越接近点(0,1)的位置分类器越好,由于该点无法直接找出,所有通过AUC,计算曲线下面的面积来替代找到最接近点(0,1)的位置,AUC越大,代表曲线的点越接近点(0,1),分类器也就越好。