机器学习-基础知识 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR

838 阅读4分钟

这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战

本文介绍机器学习中的二分类性能评估指标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=TPTP+FPPrecision=\frac{TP}{TP+FP}

预测用例Precision:

Precision预测1=TPTP+FP=33+0=1Precision_{预测1}=\frac{TP}{TP+FP}=\frac{3}{3+0}=1
Precision预测2=TPTP+FP=55+10.83Precision_{预测2}=\frac{TP}{TP+FP}=\frac{5}{5+1}\approx 0.83
Precision预测3=TPTP+FP=77+3=0.7Precision_{预测3}=\frac{TP}{TP+FP}=\frac{7}{7+3}=0.7

可以看到预测1判断出的正样本全部正确,因此该预测具有最高的查准率。

可以理解Precision为模型判断为正样本的置信概率,概率越高,该模型判断出的正样本越可信。

FDR(False Discorvery Rate)

译为:过杀率(工业缺陷)。 含义:反映了检测器判断为正样本的样本中,负样本所占比例:

FDR=FPTP+FP=1PrecisionFDR=\frac{FP}{TP+FP}=1-Precision

预测用例FA:

FDR预测1=FPTP+FP=03+0=0FDR_{预测1}=\frac{FP}{TP+FP}=\frac{0}{3+0}=0
FDR预测2=FPTP+FP=15+10.17FDR_{预测2}=\frac{FP}{TP+FP}=\frac{1}{5+1}\approx0.17
FDR预测3=FPTP+FP=37+3=0.3FDR_{预测3}=\frac{FP}{TP+FP}=\frac{3}{7+3}=0.3

Recall / Sensitivity / TPR(True Positive Rate)

译为:召回率查全率敏感性真正率

含义:预测正确的所有正样本占实际所有正样本的比例:

Recall=Sensitivity=TPR=TPTP+FNRecall=Sensitivity=TPR=\frac{TP}{TP+FN}

预测用例Recall / Sensitivity / TPR:

Recall预测1=TPTP+FN=33+40.43Recall_{预测1}=\frac{TP}{TP+FN}=\frac{3}{3+4}\approx0.43
Recall预测2=TPTP+FN=55+20.71Recall_{预测2}=\frac{TP}{TP+FN}=\frac{5}{5+2}\approx0.71
Recall预测3=TPTP+FN=77+0=1Recall_{预测3}=\frac{TP}{TP+FN}=\frac{7}{7+0}=1

查全率和查准率考量角度不同,不关注模型判断出正样本是否足够准确,关注模型挑对的正样本占全部正样本的比例。

因此最简单判断所有样本为正的策略可以得到100%的查全率,因为这个模型查到的正样本很“全”。

Specificity / TNR (True Negative Rate)

译为:特异度真负率。 含义:预测正确的所有负样本占实际所有负样本的比例:

Specificity=TNR=TNTN+FPSpecificity=TNR=\frac{TN}{TN+FP}

预测用例Specificity / TNR :

Specificity预测1=TNTN+FP=33+0=1Specificity_{预测1}=\frac{TN}{TN+FP}=\frac{3}{3+0}=1
Specificity预测2=TNTN+FP=22+10.67Specificity_{预测2}=\frac{TN}{TN+FP}=\frac{2}{2+1}\approx0.67
Specificity预测3=TNTN+FP=00+3=0Specificity_{预测3}=\frac{TN}{TN+FP}=\frac{0}{0+3}=0

与查全率相似,描述的是另一边的情况。

FPR(False Positive Rate)

译为:假正率误检率虚警概率。 含义:预测误判为正样本的负样本数量占实际所有负样本的比例:

FPR=FPFP+TNFPR=\frac{FP}{FP+TN}

预测用例FPR:

FPR预测1=FPFP+TN=00+3=0FPR_{预测1}=\frac{FP}{FP+TN}=\frac{0}{0+3}=0
FPR预测2=FPFP+TN=11+20.33FPR_{预测2}=\frac{FP}{FP+TN}=\frac{1}{1+2}\approx0.33
FPR预测3=FPFP+TN=33+0=1FPR_{预测3}=\frac{FP}{FP+TN}=\frac{3}{3+0}=1

FNR(False Negative Rate)

译为:假负率漏警概率漏检率。 含义:预测误判为负样本的正样本数量占实际所有正样本的比例:

FNR=FNFN+TP=1RecallFNR=\frac{FN}{FN+TP}=1-Recall

预测用例FNR:

FNR预测1=FNFN+TP=44+30.57FNR_{预测1}=\frac{FN}{FN+TP}=\frac{4}{4+3}\approx0.57
FNR预测2=FNFN+TP=22+50.29FNR_{预测2}=\frac{FN}{FN+TP}=\frac{2}{2+5}\approx0.29
FNR预测3=FNFN+TP=00+7=0FNR_{预测3}=\frac{FN}{FN+TP}=\frac{0}{0+7}=0

Accuracy

译为:正确率 含义:所有实验中预测正确的样本数占所有样本数量的比例。

Accuracy=TP+TNTP+FP+TN+FNAccuracy=\frac{TP+TN}{TP+FP+TN+FN}

预测用例Accuracy:

Accuracy预测1=TP+TNTP+FP+TN+FN=3+33+0+3+4=0.6Accuracy_{预测1}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{3+3}{3+0+3+4}=0.6
Accuracy预测2=TP+TNTP+FP+TN+FN=5+25+1+2+2=0.7Accuracy_{预测2}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{5+2}{5+1+2+2}=0.7
Accuracy预测3=TP+TNTP+FP+TN+FN=7+07+3+0+0=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=FP+FNTP+FP+TN+FN=1AccuracyError\_Rate=\frac{FP+FN}{TP+FP+TN+FN}=1-Accuracy

预测用例Accuracy:

Error_Rate预测1=FP+FNTP+FP+TN+FN=0+43+0+3+4=0.4Error\_Rate_{预测1}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{0+4}{3+0+3+4}=0.4
Error_Rate预测2=FP+FNTP+FP+TN+FN=1+25+1+2+2=0.3Error\_Rate_{预测2}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{1+2}{5+1+2+2}=0.3
Error_Rate预测3=FP+FNTP+FP+TN+FN=3+07+3+0+0=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 分数 / 平衡F分数 含义:F1分数兼顾了分类模型的精确率和召回率,定义为模型精确率和召回率的调和平均数。

F1Score=2×Precision×RecallPrecision+RecallF_1 Score=2\times\frac{Precision\times Recall}{Precision+ Recall}

预测用例F1 Score:

F1Score预测1=2×Precision预测1×Recall预测1Precision预测1+Recall预测1=2×1×371+37=0.6F_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.6
F1Score预测2=2×Precision预测2×Recall预测2Precision预测2+Recall预测2=2×56×5756+570.77F_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.77
F1Score预测3=2×Precision预测3×Recall预测3Precision预测3+Recall预测3=2×0.7×10.7+10.82F_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