分类问题通用评价指标:精确率、召回率、准确率和混淆矩阵
v1.0
分类问题的评价
对于1个分类问题,不论其是二分类问题还是多分类问题,或者是多标签分类问题(1个样本可以有多个类别),都可以对其判定结果进行统计,以类别为单位统计其各个指标,来衡量模型对该类别的预测情况。基于对某个分类的4种分类判别情况,引出了精确率、召回率、准确率和F1 Score的评价指标。
分类问题对特定样本类别的判定情况
对特定样本类别A分类判定的4种情况
- T P TP TP(True Positive) 真阳性,某条样本判定为A类样本,实际也为A类样本
- F P FP FP(False Positive)假阳性,某条样本判定为A类样本,但实际不为A类样本
- T N TN TN(True Negative)真阴性,某条样本判定不为A类样本,实际也不为A类样本
- F N FN FN(False Negative)假阴性,某条样本判定不为A类样本,但实际为A类样本
在其中T表示预测结果是正确的,F表示预测结果是错误的,P表示预测样本为A类别,N表示预测样本不为A类别。
混淆矩阵(Confusion Matrix)
混淆矩阵以表格形式,展示了模型对A类样本的预测情况,表格为2×2的尺寸,以是否预测是否为A类样本和真实是否为A类样本2个维度进行列举。
真实为A类 | 真实非A类 | |
---|---|---|
预测为A类 | TP | FP |
预测非A类 | FN | TN |
其中T表示预测正确,F表示预测错误,P表示预测为A类样本,N表示预测为非A类样本。
这其中需要注意的是FN类别,这个类别表示预测样本不是A类别(N),但是预测错误了(F),因此这个类别实际上是属于A类别的。
精确率(Precision)
精确率为判断为A类的样本中,实际为A类样本的百分比,公式如下:
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
精确率指标反映了模型对A类样本的误检情况,模型在检测到为A类样本时,误检情况越少,精确率越高。
精确率不反映漏检的情况,即只是在模型判断样本为A类时进行的统计,仍有一些样本属于A类,但被判别为其他类(B类、C类)等,这些样本对于A类来说属于FN,不参加精确度的计算。
召回率(Recall)
对所有所有A类样本进行判段,有2种情况,被正确判断为A类的样本和被误判为其他类的样本。召回率为正确判断为A类的样本,占总体A类样本的比例。公式如下:
R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
召回率反映的是A类样本的漏检情况。若A类样本无漏检,则A类样本的召回率为100%,但此时仍可能出现属于其他类别的样本,被误判为A类样本的情况,这种情况为FP。根据召回率的定义和公式,FP的情况并不影响召回率。
准确率(Accuracy)
准确率用来衡量对于A类样本,预测正确的样本数占样本总数的比例。这里正确的样本包括属于A类且预测为A类的情况(TP),也包括不属于A类,也没有被判别为A类的情况(TN)。准确率的公式如下:
A c c u r a c y = T P + F N T P + T N + F P + F N = T T + F Accuracy=\frac{TP+FN}{TP+TN+FP+FN}=\frac{T}{T+F} Accuracy=TP+TN+FP+FNTP+FN=T+FT
准确率既考虑漏检情况(FN),也考虑误检情况(FP)。在二分类的情况下,准确率是一个全局指标。在多分类问题中,可以单独考虑每类样本的准确率。
F1 Score
F1 Score用来综合反应模型对样本类别A的预测情况,结合使用了样本类别A的精确率和召回率。F1 Score公式如下:
1 F 1 S c o r e = 1 2 ⋅ ( 1 P r e c i s i o n + 1 R e c a l l ) \frac{1}{F1\space{Score}}=\frac{1}{2}\cdot(\frac{1}{Precision}+\frac{1}{Recall}) F1 Score1=21⋅(Precision1+Recall1)
或者将上式化简,将F1 Score单独放到左边,得到如下公式:
F 1 S c o r e = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n + R e c a l l F1\space{Score}=\frac{2{\cdot}Precision{\cdot}Recall}{Precision+Recall} F1 Score=Precision+Recall2⋅Precision⋅Recall
F1 Score的取值范围为 [ 0 , 1 ] [0,1] [0,1],在精确率和召回率都为 100 100% 100时为 1 1 1。F1 Score越高,模型对A类样本的预测总体性能越好。