本文介绍机器学习中的二分类性能评估指标Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TNR, TPR, F1 Score, Balanced F Score基本含义,给出公式和具体算例,并作简要分析。
基础定义
评估指标 |
预测结果 |
正样本 |
负样本 |
实际 情况 |
正样本 |
TP |
FN |
负样本 |
FP |
TN |
具体含义和理解参考 机器学习-基础知识- TP、FN、FP、TN。
示例用例
样本信息
样本编号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
真实类别 |
P |
P |
P |
P |
P |
P |
P |
N |
N |
N |
预测-1
样本编号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
预测类别 |
P |
P |
P |
N |
N |
N |
N |
N |
N |
N |
评估指标 |
TP |
3 |
TN |
3 |
FP |
0 |
FN |
4 |
预测-2
样本编号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
预测类别 |
P |
P |
N |
N |
P |
P |
P |
P |
N |
N |
评估指标 |
TP |
5 |
TN |
2 |
FP |
1 |
FN |
2 |
预测-3
样本编号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
预测类别 |
P |
P |
P |
P |
P |
P |
P |
P |
P |
P |
评估指标 |
TP |
7 |
TN |
0 |
FP |
3 |
FN |
0 |
Precision
译为:精确率
,查准率
。
含义:预测所有正样本中判断正确的比例:
Precision=TP+FPTP
预测用例Precision:
Precision预测1=TP+FPTP=3+03=1
Precision预测2=TP+FPTP=5+15≈0.83
Precision预测3=TP+FPTP=7+37=0.7
可以看到预测1判断出的正样本全部正确,因此该预测具有最高的查准率。
可以理解Precision为模型判断为正样本的置信概率,概率越高,该模型判断出的正样本越可信。
FDR(False Discorvery Rate)
译为:过杀率(工业缺陷)
。
含义:反映了检测器判断为正样本的样本中,负样本所占比例:
FDR=TP+FPFP=1−Precision
预测用例FA:
FDR预测1=TP+FPFP=3+00=0
FDR预测2=TP+FPFP=5+11≈0.17
FDR预测3=TP+FPFP=7+33=0.3
Recall / Sensitivity / TPR(True Positive Rate)
译为:召回率
,查全率
, 敏感性
, 真正率
。
含义:预测正确的所有正样本占实际所有正样本的比例:
Recall=Sensitivity=TPR=TP+FNTP
预测用例Recall / Sensitivity / TPR:
Recall预测1=TP+FNTP=3+43≈0.43
Recall预测2=TP+FNTP=5+25≈0.71
Recall预测3=TP+FNTP=7+07=1
查全率和查准率考量角度不同,不关注模型判断出正样本是否足够准确,关注模型挑对的正样本占全部正样本的比例。
因此最简单判断所有样本为正的策略可以得到100%的查全率,因为这个模型查到的正样本很“全”。
Specificity / TNR (True Negative Rate)
译为:特异度
,真负率
。
含义:预测正确的所有负样本占实际所有负样本的比例:
Specificity=TNR=TN+FPTN
预测用例Specificity / TNR :
Specificity预测1=TN+FPTN=3+03=1
Specificity预测2=TN+FPTN=2+12≈0.67
Specificity预测3=TN+FPTN=0+30=0
与查全率相似,描述的是另一边的情况。
FPR(False Positive Rate)
译为:假正率
,误检率
,虚警概率
。
含义:预测误判为正样本的负样本数量占实际所有负样本的比例:
FPR=FP+TNFP
预测用例FPR:
FPR预测1=FP+TNFP=0+30=0
FPR预测2=FP+TNFP=1+21≈0.33
FPR预测3=FP+TNFP=3+03=1
FNR(False Negative Rate)
译为:假负率
,漏警概率
,漏检率
。
含义:预测误判为负样本的正样本数量占实际所有正样本的比例:
FNR=FN+TPFN=1−Recall
预测用例FNR:
FNR预测1=FN+TPFN=4+34≈0.57
FNR预测2=FN+TPFN=2+52≈0.29
FNR预测3=FN+TPFN=0+70=0
Accuracy
译为:正确率
含义:所有实验中预测正确的样本数占所有样本数量的比例。
Accuracy=TP+FP+TN+FNTP+TN
预测用例Accuracy:
Accuracy预测1=TP+FP+TN+FNTP+TN=3+0+3+43+3=0.6
Accuracy预测2=TP+FP+TN+FNTP+TN=5+1+2+25+2=0.7
Accuracy预测3=TP+FP+TN+FNTP+TN=7+3+0+07+0=0.7
事实上预测1,2的模型对正、负样本都是有有一定正确分类能力的,预测3模型仅仅使用了“将所有样本都判为正”的策略既收获了最高的正确率,并不是这个指标有问题,而是数据分布本身并不平衡。
样本中正样本居多,预测3的模型成功预测了数据中正样本占大多数,因此策略得到了高正确率的回报。
Error Rate
译为:错误率
含义:所有实验中预测错误的样本数占所有样本数量的比例。
Error_Rate=TP+FP+TN+FNFP+FN=1−Accuracy
预测用例Accuracy:
Error_Rate预测1=TP+FP+TN+FNFP+FN=3+0+3+40+4=0.4
Error_Rate预测2=TP+FP+TN+FNFP+FN=5+1+2+21+2=0.3
Error_Rate预测3=TP+FP+TN+FNFP+FN=7+3+0+03+0=0.3
F1 Score / Balanced F Score
译为:F1 分数
/ 平衡F分数
含义:F1分数兼顾了分类模型的精确率和召回率,定义为模型精确率和召回率的调和平均数。
F1Score=2×Precision+RecallPrecision×Recall
预测用例F1 Score:
F1Score预测1=2×Precision预测1+Recall预测1Precision预测1×Recall预测1=2×1+731×73=0.6
F1Score预测2=2×Precision预测2+Recall预测2Precision预测2×Recall预测2=2×65+7565×75≈0.77
F1Score预测3=2×Precision预测3+Recall预测3Precision预测3×Recall预测3=2×0.7+10.7×1≈0.82