【机器学习】ROC曲线和AUC面积

ROC曲线的横坐标轴是FPR(False Positive Rate),纵坐标轴是TPR(True Positive Rate),对应于下面的混淆矩阵(fusion matrix):

T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP

TP指的是正类被分为正类的个数,FN指的是正类被分为负类的个数(错误的负类),所以TP+FN指的就是所有正类的个数,这样这个比值的意义就是所有正类样本中被正确分类为正类的比值。结合异常点检测的例子(异常点是正类,正常点是负类)就是,异常点中被正确分为异常点的比值。

F P R = F P F P + T N FPR = \frac{FP}{FP+TN} FPR=FP+TNFP
FP指的是负类被分为正类的个数(错误的正类),TN指的是负类被分为负类的个数,所以FP+TN就是所有负类的个数,这样这个比值的意义就是所有负类样本中被错误分为正类的比值。还是结合异常点检测的例子就是,正常点中被错误地分为异常点的比值。

再用在知乎上看到的一句来升华:AUC指的是分类器输出该正样本为正的那个概率值 比 分类器输出该负样本为正的那个概率值 要大的可能性。

因此,总的来说TPR和FPR分别
可以看出TPR和FPR分别是TP和FP在其所在混淆矩阵的所在列的比例。
【机器学习】ROC曲线和AUC面积_第1张图片

ROC曲线的作用是为分类器选择最优阈值,如一个二分类的分类器对一个样本的的分类score是0.6,阈值设置为大于0.5时分类为正类,那么这个样本就是正类。而如果阈值设置为大于0.7时分类为正类,那么自然这个样本就被分为了负类。这样不同阈值得到的TPR和FPR自然是不一样的,但是总有一个阈值是最合适的。

所以,在ROC曲线中,一般认为ROC曲线中最靠近左上角的点是分类错误最少的最优阈值。另外,所取的阈值越多,采样的点也就越多,从而形成的ROC曲线也就越平滑。如下图中分别是对应了TPR和FPR在(0,0)、(0.5,0.75)以及(1,1)条件下形成的ROC曲线。

【机器学习】ROC曲线和AUC面积_第2张图片
AUC即是ROC曲线下方区域构成的面积(Area Under ROC Curve)。AUC面积越大,模型的分类效果越好。

ROC和AUC一般常用于label unbanlance的数据的分类指标中。如在异常点检测中,异常点,也就是正类,常常很少。如100个样本点中只有一个异常点,我们把所有数据都分类为负类,得到的accuracy是99%,但是显然accuracy并不是我们要的衡量指标。而通过ROC曲线得到的TPR和FPR都是0(TP和FP都是0),这样得到的AUC也就是0了。

文中图片来源:如何理解机器学习和统计中的AUC? - 无涯的回答 - 知乎
https://www.zhihu.com/question/39840928/answer/241440370

你可能感兴趣的:(machine,learning,ROC,AUC)