AUC是一种衡量机器学习模型分类性能的重要且非常常用的指标,其只能用于二分类的情况.
AUC的本质含义反映的是对于任意一对正负例样本,模型将正样本预测为正例的可能性 大于 将负例预测为正例的可能性的 概率 ( :-) 没办法这句话就是这么绕, rap~ ).
在真正接触AUC之前,还需要了解两个概念, 分别是 混淆矩阵 (confusion matrix) 和 ROC 曲线.
可以看出混淆矩阵由四个值构成:
由混淆矩阵可以计算得到ROC曲线的关键参数:TPR(真正例率) 和 FPR(假正例率).
理解到这个程度就可以接触ROC曲线了
可以从图上面看出,FPR和TPR分别是ROC曲线的横坐标和纵坐标.对于ROC曲线有四个点需要单独拎出来理解,这对理解AUC也是很有帮助的.它们分别是:
此外,对于图ROC curve中的三根曲线的理解:
如果要将上述的标准进行定量评估,就延伸得到了AUC, AUC即ROC曲线下方与坐标轴围成的面积大小
AUC更直观地反应了ROC曲线向我们表达的模型分类能力.其数值大小(越大越好)代表了模型的性能优劣.说到这里,自然也就能够明白开篇关于AUC物理意义的阐述了,重申一遍即:AUC的本质含义反映的是对于任意一对正负例样本,模型将正样本预测为正例的可能性 大于 将负例预测为正例的可能性的 概率(例如: 当AUC = 0.5, ROC曲线为黑线时, 模型将一对正负例样本中的正样本预测为正例的概率为0.5,将负样本预测为正例的概率也为0.5,等效于随机分类预测).
如何绘制ROC曲线?
绘制曲线,必不可少的就是拿到曲线上的点,也就是需要get到每个点的TPR和FPR数值.
这里借用在知乎上看到的例子啦:
Case_1:
对于像SVM这样的硬分类器,分类得到的结果都是已经标记完成的二分类数值(0/1).就长下面这个样子:
,因此在样本极端不平衡的情况下,AUC依然能够做出合理的评价. :-)