分类模型评估指标
准确率的局限性
准确率在一些特定的应用场景会有问题,比如在分类不均衡的分类中。比如在一个样本极不均衡的例子,想预测人群中患癌症的模型中,在训练样本时,1千个样本患癌症的人数为个位数,不患癌症的人数为990多人,在做其他操作的情况下,让模型把所有样本默认认为是不患癌症类型,这样的情况下,准确率高达99%多,但是这个模型实际没有什么作用。
精确率(precision)和召回率(recall)
- TP:实际为正预测为正
- FP:实际为负但预测为正
- FN:实际为正但预测为负
- TN:实际为负预测为负
精确率:
通俗的讲就是所有预测为正确的样本,给真正为正确占的比例是多少
召回率:
通俗的讲就是所有正确的样本,给预测为正确占的比例是的多少
1到2提升了召回率,但是却牺牲了精确率
精确率与召回率是一对矛盾的度量。一般来说,精确率高时,召回率往往偏低;而召回率高时,精确率往往偏低。通常只有在一些简单任务中,才会使二者都很高。
f1-score(精确率和召回率的调和平均)
可以看到,在上式里我们认为精确率和召回率是一样重要的(他们的权重一样),当我们的评估更加注重精确率或者召回率的时候,我们引入,对于任意的非负值 β \betaβ,我们定义
可以看到,我们可以通过调整 来帮助我们更好地评估结果。
PR曲线
P-R曲线的P就是查准率(Precision),R就是查全率(Recall)。以P作为横坐标,R作为纵坐标,就可以画出P-R曲线。
对于同一个模型,通过调整分类阈值,可以得到不同的P-R值,从而可以得到一条曲线(纵坐标为P,横坐标为R)。通常随着分类阈值从大到小变化(大于阈值认为P),Precision减小,Recall增加。比较两个分类器好坏时,显然是查得又准又全的比较好,也就是的PR曲线越往坐标(1,1)的位置靠近越好。若一个学习器的P-R曲线被另一个学习器完全”包住”,则后者的性能优于前者。当存在交叉时,可以计算曲线围住面积,不太容易判断,但是可以通过平衡点(查准率=查全率,Break-Even Point,BEP)来判断。
下图中,基于BEP的比较,可以认为模型A优于模型B。
AUC
True Positive Rate(真阳率):
TPRate的意义是所有真实类别为1的样本中,预测类别为1的比例。
False Positive(伪阳率):
FPRate的意义是所有真实类别为0的样本中,预测类别为1的比例
AUC即ROC曲线下的面积,而ROC曲线的横轴是FPRate,纵轴是TPRate,当二者相等时,即y=x,如下图:
表示的意义是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的。
换句话说,分类器对于正例和负例毫无区分能力,和抛硬币没什么区别,一个抛硬币的分类器是我们能想象的最差的情况,因此一般来说我们认为AUC的最小值为0.5(最大熵)(当然也存在预测相反这种极端的情况,AUC小于0.5,这种情况相当于分类器总是把对的说成错的,错的认为是对的,那么只要把预测类别取反,便得到了一个AUC大于0.5的分类器)。
而我们希望分类器达到的效果是:对于真实类别为1的样本,分类器预测为1的概率(即TPRate),要大于真实类别为0而预测类别为1的概率(即FPRate),即y>x,因此大部分的ROC曲线长成下面这个样子:
最理想的情况下,没有真实类别为1而错分为0的样本,TPRate一直为1,于是AUC为1,这便是AUC的极大值。((0,1)点与(1,1)相连为面积一的正方形)
说了这么多还是不够直观,不妨举个简单的例子。首先对于硬分类器(例如SVM,NB),预测类别为离散标签,对于8个样本的预测情况如下:得到混淆矩阵如下:
进而算得TPRate=3/4,FPRate=2/4,得到ROC曲线:
最终得到AUC为0.625。对于LR等预测类别为概率的分类器,依然用上述例子,假设预测结果如下:
这时,需要设置阈值来得到混淆矩阵,不同的阈值会影响得到的TPRate,FPRate,如果阈值取0.5,小于0.5的为0,否则为1,那么我们就得到了与之前一样的混淆矩阵。其他的阈值就不再啰嗦了。依次使用所有预测值作为阈值,得到一系列TPRate,FPRate,描点,求面积,即可得到AUC。
最后说说AUC的优势,AUC的计算方法同时考虑了分类器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器作出合理的评价。例如在反欺诈场景,设欺诈类样本为正例,正例占比很少(假设0.1%),如果使用准确率评估,把所有的样本预测为负例,便可以获得99.9%的准确率。但是如果使用AUC,把所有样本预测为负例,TPRate和FPRate同时为0(没有Positive),与(0,0) (1,1)连接,得出AUC仅为0.5,成功规避了样本不均匀带来的问题。
参考
[1] [机器学习分类模型效果评估指标介绍]:(https://blog.****.net/zuolixiangfisher/article/details/81328297)
[1] [如何理解统计的AUC]:(https://www.zhihu.com/people/carlisle/answers)