本文介绍机器学习中的二分类性能评估指标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 | 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 | FP | 3 | FN |
Precision
译为:,
精确率
查准率
。
含义:预测所有正样本中判断正确的比例:
Precision=\frac{TP}{TP+FP}
预测用例Precision:
Precision_{预测1}=\frac{TP}{TP+FP}=\frac{3}{3+0}=1Precision_{预测2}=\frac{TP}{TP+FP}=\frac{5}{5+1}\approx 0.83Precision_{预测3}=\frac{TP}{TP+FP}=\frac{7}{7+3}=0.7
可以看到预测1判断出的正样本全部正确,因此该预测具有最高的查准率。
可以理解Precision为模型判断为正样本的置信概率,概率越高,该模型判断出的正样本越可信。
FDR(False Discorvery Rate)
译为:
过杀率(工业缺陷)
。
含义:反映了检测器判断为正样本的样本中,负样本所占比例:
FDR=\frac{FP}{TP+FP}=1-Precision
预测用例FA:
FDR_{预测1}=\frac{FP}{TP+FP}=\frac{0}{3+0}=0FDR_{预测2}=\frac{FP}{TP+FP}=\frac{1}{5+1}\approx0.17FDR_{预测3}=\frac{FP}{TP+FP}=\frac{3}{7+3}=0.3
Recall / Sensitivity / TPR(True Positive Rate)
译为:,
召回率
,
查全率
,
敏感性
真正率
。
含义:预测正确的所有正样本占实际所有正样本的比例:
Recall=Sensitivity=TPR=\frac{TP}{TP+FN}
预测用例Recall / Sensitivity / TPR:
Recall_{预测1}=\frac{TP}{TP+FN}=\frac{3}{3+4}\approx0.43Recall_{预测2}=\frac{TP}{TP+FN}=\frac{5}{5+2}\approx0.71Recall_{预测3}=\frac{TP}{TP+FN}=\frac{7}{7+0}=1
查全率和查准率考量角度不同,不关注模型判断出正样本是否足够准确,关注模型挑对的正样本占全部正样本的比例。
因此最简单判断所有样本为正的策略可以得到100%的查全率,因为这个模型查到的正样本很“全”。
Specificity / TNR (True Negative Rate)
译为:,
特异度
真负率
。
含义:预测正确的所有负样本占实际所有负样本的比例:
Specificity=TNR=\frac{TN}{TN+FP}
预测用例Specificity / TNR :
Specificity_{预测1}=\frac{TN}{TN+FP}=\frac{3}{3+0}=1Specificity_{预测2}=\frac{TN}{TN+FP}=\frac{2}{2+1}\approx0.67Specificity_{预测3}=\frac{TN}{TN+FP}=\frac{0}{0+3}=0
与查全率相似,描述的是另一边的情况。
FPR(False Positive Rate)
译为:,
假正率
,
误检率
虚警概率
。
含义:预测误判为正样本的负样本数量占实际所有负样本的比例:
FPR=\frac{FP}{FP+TN}
预测用例FPR:
FPR_{预测1}=\frac{FP}{FP+TN}=\frac{0}{0+3}=0FPR_{预测2}=\frac{FP}{FP+TN}=\frac{1}{1+2}\approx0.33FPR_{预测3}=\frac{FP}{FP+TN}=\frac{3}{3+0}=1
FNR(False Negative Rate)
译为:,
假负率
,
漏警概率
漏检率
。
含义:预测误判为负样本的正样本数量占实际所有正样本的比例:
FNR=\frac{FN}{FN+TP}=1-Recall
预测用例FNR:
FNR_{预测1}=\frac{FN}{FN+TP}=\frac{4}{4+3}\approx0.57FNR_{预测2}=\frac{FN}{FN+TP}=\frac{2}{2+5}\approx0.29FNR_{预测3}=\frac{FN}{FN+TP}=\frac{0}{0+7}=0
Accuracy
译为: 正确率
含义:所有实验中预测正确的样本数占所有样本数量的比例。
Accuracy=\frac{TP+TN}{TP+FP+TN+FN}
预测用例Accuracy:
Accuracy_{预测1}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{3+3}{3+0+3+4}=0.6Accuracy_{预测2}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{5+2}{5+1+2+2}=0.7Accuracy_{预测3}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{7+0}{7+3+0+0}=0.7
事实上预测1,2的模型对正、负样本都是有有一定正确分类能力的,预测3模型仅仅使用了“将所有样本都判为正”的策略既收获了最高的正确率,并不是这个指标有问题,而是数据分布本身并不平衡。
样本中正样本居多,预测3的模型成功预测了数据中正样本占大多数,因此策略得到了高正确率的回报。
Error Rate
译为: 错误率
含义:所有实验中预测错误的样本数占所有样本数量的比例。
Error_Rate=\frac{FP+FN}{TP+FP+TN+FN}=1-Accuracy
预测用例Accuracy:
Error_Rate_{预测1}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{0+4}{3+0+3+4}=0.4Error_Rate_{预测2}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{1+2}{5+1+2+2}=0.3Error_Rate_{预测3}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{3+0}{7+3+0+0}=0.3
F1 Score / Balanced F Score
译为:/
F1 分数
含义:F1分数兼顾了分类模型的精确率和召回率,定义为模型精确率和召回率的调和平均数。
平衡F分数
F_1 Score=2\times\frac{Precision\times Recall}{Precision+ Recall}
预测用例F1 Score:
F_1 Score_{预测1}=2\times\frac{Precision_{预测1}\times Recall_{预测1}}{Precision_{预测1}+ Recall_{预测1}}=2\times\frac{1\times \frac{3}{7}}{1+ \frac{3}{7}}= 0.6F_1 Score_{预测2}=2\times\frac{Precision_{预测2}\times Recall_{预测2}}{Precision_{预测2}+ Recall_{预测2}}=2\times\frac{\frac{5}{6} \times \frac{5}{7}}{\frac{5}{6} + \frac{5}{7}}\approx 0.77F_1 Score_{预测3}=2\times\frac{Precision_{预测3}\times Recall_{预测3}}{Precision_{预测3}+ Recall_{预测3}}=2\times\frac{0.7 \times 1}{0.7 + 1}\approx 0.82