分类模型评估标准
不同的任务有不同的评估标准,这里只介绍分类任务的评估指标。(Recall,Precision,Accuracy)
1.Accuracy正确率
分类正确的样本占总样本的个数:
但是ACC有一个很大的弊端,如果训练的样本全是负样本,分类器把所有样本预测为负样本也能获得高准确率,当类别占比不均衡时,占比大的类别会影响分类器的准确率。
2.Precision精确率&Recall召回率
首先需要认识一下混淆矩阵:横向表示预测结果,纵向表示真实标签
关于TP\FN\FP\TN,表示预测结果的真假,第一个字母T\F表示对\错;第二个字母P\N表示预测为正\预测为负,解读如下:
TP表示预测为P正样本,预测的对;
FN表示预测为N负样本,预测的不对;
FP表示预测为P正样本,预测的不对;
TN表示预测为N负样本,预测的对。
基于以上四个标签,精确率的计算公式如下:
对应图中蓝框部分
召回率的计算公式如下:
对应图中绿框部分:
可以看到精确率和召回率都是针对TP为分子进行的计算,精确率计算预测正,判断的对的样本占预测为正样本的所有样本的比例;召回率计算预测正,判断的对的样本占所有真的真的正样本的比例:
没有涉及到预测为负的,判断也错的样本的计算。
3.TPR&FPR
TPR:
失准率FPR:
对应图片如下,失准率关注预测为正,判断的错的样本占所有真的负样本的比例。
4.ROC曲线和AUC
通过给模型设置一个阈值,阈值不同判定为正样本和负样本的结果也不同,TP\FN\FP\TN也不同,指标的计算结果也不同,最终可以绘制一条FPR为横轴,TPR为纵轴的ROC曲线:
根据TPR和FPR的计算公式,显然预测结果的比例不可能大于1,所以ROC曲线坐标不超过1,曲线下的面积为AUC,也不超过1,越大说明模型能力越强:
之所以引用面积不直接用指标进行比较是因为有的roc曲线是曲折的,比较面积更容易:
4.P-R曲线
横轴是召回率,纵轴是精确率,点为某一个阈值,在该阈值下,模型将大于该阈值的结果判定为正,小于该阈值的结果判定为负,返回对应的召回率和精确率。阈值从高到低移动,且也是坐标不超过1的图像。
相对于P-R曲线,ROC曲线能更适应不同的测试集带来的干扰,更稳定的反应模型本身的好坏,而P-R曲线会有明显的变化,适用于在特定数据集上反应其性能。