本文介绍机器学习中的二分类性能评估指标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

译为:精确率查准率

含义:预测所有正样本中判断正确的比例:

P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP

预测用例Precision:

P r e c i s i o n 预 测 1 = T P T P + F P = 3 3 + 0 = 1 Precision_{预测1}=\frac{TP}{TP+FP}=\frac{3}{3+0}=1 Precision1=TP+FPTP=3+03=1

P r e c i s i o n 预 测 2 = T P T P + F P = 5 5 + 1 ≈ 0.83 Precision_{预测2}=\frac{TP}{TP+FP}=\frac{5}{5+1}\approx 0.83 Precision2=TP+FPTP=5+150.83

P r e c i s i o n 预 测 3 = T P T P + F P = 7 7 + 3 = 0.7 Precision_{预测3}=\frac{TP}{TP+FP}=\frac{7}{7+3}=0.7 Precision3=TP+FPTP=7+37=0.7

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

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

FDR(False Discorvery Rate)

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

F D R = F P T P + F P = 1 − P r e c i s i o n FDR=\frac{FP}{TP+FP}=1-Precision FDR=TP+FPFP=1Precision

预测用例FA:

F D R 预 测 1 = F P T P + F P = 0 3 + 0 = 0 FDR_{预测1}=\frac{FP}{TP+FP}=\frac{0}{3+0}=0 FDR1=TP+FPFP=3+00=0

F D R 预 测 2 = F P T P + F P = 1 5 + 1 ≈ 0.17 FDR_{预测2}=\frac{FP}{TP+FP}=\frac{1}{5+1}\approx0.17 FDR2=TP+FPFP=5+110.17

F D R 预 测 3 = F P T P + F P = 3 7 + 3 = 0.3 FDR_{预测3}=\frac{FP}{TP+FP}=\frac{3}{7+3}=0.3 FDR3=TP+FPFP=7+33=0.3

Recall / Sensitivity / TPR(True Positive Rate)

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

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

R e c a l l = S e n s i t i v i t y = T P R = T P T P + F N Recall=Sensitivity=TPR=\frac{TP}{TP+FN} Recall=Sensitivity=TPR=TP+FNTP

预测用例Recall / Sensitivity / TPR:

R e c a l l 预 测 1 = T P T P + F N = 3 3 + 4 ≈ 0.43 Recall_{预测1}=\frac{TP}{TP+FN}=\frac{3}{3+4}\approx0.43 Recall1=TP+FNTP=3+430.43

R e c a l l 预 测 2 = T P T P + F N = 5 5 + 2 ≈ 0.71 Recall_{预测2}=\frac{TP}{TP+FN}=\frac{5}{5+2}\approx0.71 Recall2=TP+FNTP=5+250.71

R e c a l l 预 测 3 = T P T P + F N = 7 7 + 0 = 1 Recall_{预测3}=\frac{TP}{TP+FN}=\frac{7}{7+0}=1 Recall3=TP+FNTP=7+07=1

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

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

Specificity / TNR (True Negative Rate)

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

S p e c i f i c i t y = T N R = T N T N + F P Specificity=TNR=\frac{TN}{TN+FP} Specificity=TNR=TN+FPTN

预测用例Specificity / TNR :

S p e c i f i c i t y 预 测 1 = T N T N + F P = 3 3 + 0 = 1 Specificity_{预测1}=\frac{TN}{TN+FP}=\frac{3}{3+0}=1 Specificity1=TN+FPTN=3+03=1

S p e c i f i c i t y 预 测 2 = T N T N + F P = 2 2 + 1 ≈ 0.67 Specificity_{预测2}=\frac{TN}{TN+FP}=\frac{2}{2+1}\approx0.67 Specificity2=TN+FPTN=2+120.67

S p e c i f i c i t y 预 测 3 = T N T N + F P = 0 0 + 3 = 0 Specificity_{预测3}=\frac{TN}{TN+FP}=\frac{0}{0+3}=0 Specificity3=TN+FPTN=0+30=0

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

FPR(False Positive Rate)

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

F P R = F P F P + T N FPR=\frac{FP}{FP+TN} FPR=FP+TNFP

预测用例FPR:

F P R 预 测 1 = F P F P + T N = 0 0 + 3 = 0 FPR_{预测1}=\frac{FP}{FP+TN}=\frac{0}{0+3}=0 FPR1=FP+TNFP=0+30=0

F P R 预 测 2 = F P F P + T N = 1 1 + 2 ≈ 0.33 FPR_{预测2}=\frac{FP}{FP+TN}=\frac{1}{1+2}\approx0.33 FPR2=FP+TNFP=1+210.33

F P R 预 测 3 = F P F P + T N = 3 3 + 0 = 1 FPR_{预测3}=\frac{FP}{FP+TN}=\frac{3}{3+0}=1 FPR3=FP+TNFP=3+03=1

FNR(False Negative Rate)

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

F N R = F N F N + T P = 1 − R e c a l l FNR=\frac{FN}{FN+TP}=1-Recall FNR=FN+TPFN=1Recall

预测用例FNR:

F N R 预 测 1 = F N F N + T P = 4 4 + 3 ≈ 0.57 FNR_{预测1}=\frac{FN}{FN+TP}=\frac{4}{4+3}\approx0.57 FNR1=FN+TPFN=4+340.57

F N R 预 测 2 = F N F N + T P = 2 2 + 5 ≈ 0.29 FNR_{预测2}=\frac{FN}{FN+TP}=\frac{2}{2+5}\approx0.29 FNR2=FN+TPFN=2+520.29

F N R 预 测 3 = F N F N + T P = 0 0 + 7 = 0 FNR_{预测3}=\frac{FN}{FN+TP}=\frac{0}{0+7}=0 FNR3=FN+TPFN=0+70=0

Accuracy

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

A c c u r a c y = T P + T N T P + F P + T N + F N Accuracy=\frac{TP+TN}{TP+FP+TN+FN} Accuracy=TP+FP+TN+FNTP+TN

预测用例Accuracy:

A c c u r a c y 预 测 1 = T P + T N T P + F P + T N + F N = 3 + 3 3 + 0 + 3 + 4 = 0.6 Accuracy_{预测1}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{3+3}{3+0+3+4}=0.6 Accuracy1=TP+FP+TN+FNTP+TN=3+0+3+43+3=0.6

A c c u r a c y 预 测 2 = T P + T N T P + F P + T N + F N = 5 + 2 5 + 1 + 2 + 2 = 0.7 Accuracy_{预测2}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{5+2}{5+1+2+2}=0.7 Accuracy2=TP+FP+TN+FNTP+TN=5+1+2+25+2=0.7

A c c u r a c y 预 测 3 = T P + T N T P + F P + T N + F N = 7 + 0 7 + 3 + 0 + 0 = 0.7 Accuracy_{预测3}=\frac{TP+TN}{TP+FP+TN+FN}=\frac{7+0}{7+3+0+0}=0.7 Accuracy3=TP+FP+TN+FNTP+TN=7+3+0+07+0=0.7

事实上预测1,2的模型对正、负样本都是有有一定正确分类能力的,预测3模型仅仅使用了“将所有样本都判为正”的策略既收获了最高的正确率,并不是这个指标有问题,而是数据分布本身并不平衡。

样本中正样本居多,预测3的模型成功预测了数据中正样本占大多数,因此策略得到了高正确率的回报。

Error Rate

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

E r r o r _ R a t e = F P + F N T P + F P + T N + F N = 1 − A c c u r a c y Error\_Rate=\frac{FP+FN}{TP+FP+TN+FN}=1-Accuracy Error_Rate=TP+FP+TN+FNFP+FN=1Accuracy

预测用例Accuracy:

E r r o r _ R a t e 预 测 1 = F P + F N T P + F P + T N + F N = 0 + 4 3 + 0 + 3 + 4 = 0.4 Error\_Rate_{预测1}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{0+4}{3+0+3+4}=0.4 Error_Rate1=TP+FP+TN+FNFP+FN=3+0+3+40+4=0.4

E r r o r _ R a t e 预 测 2 = F P + F N T P + F P + T N + F N = 1 + 2 5 + 1 + 2 + 2 = 0.3 Error\_Rate_{预测2}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{1+2}{5+1+2+2}=0.3 Error_Rate2=TP+FP+TN+FNFP+FN=5+1+2+21+2=0.3

E r r o r _ R a t e 预 测 3 = F P + F N T P + F P + T N + F N = 3 + 0 7 + 3 + 0 + 0 = 0.3 Error\_Rate_{预测3}=\frac{FP+FN}{TP+FP+TN+FN}=\frac{3+0}{7+3+0+0}=0.3 Error_Rate3=TP+FP+TN+FNFP+FN=7+3+0+03+0=0.3

F1 Score / Balanced F Score

译为:F1 分数 / 平衡F分数
含义:F1分数兼顾了分类模型的精确率和召回率,定义为模型精确率和召回率的调和平均数。

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 F_1 Score=2\times\frac{Precision\times Recall}{Precision+ Recall} F1Score=2×Precision+RecallPrecision×Recall

预测用例F1 Score:

F 1 S c o r e 预 测 1 = 2 × P r e c i s i o n 预 测 1 × R e c a l l 预 测 1 P r e c i s i o n 预 测 1 + R e c a l l 预 测 1 = 2 × 1 × 3 7 1 + 3 7 = 0.6 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.6 F1Score1=2×Precision1+Recall1Precision1×Recall1=2×1+731×73=0.6

F 1 S c o r e 预 测 2 = 2 × P r e c i s i o n 预 测 2 × R e c a l l 预 测 2 P r e c i s i o n 预 测 2 + R e c a l l 预 测 2 = 2 × 5 6 × 5 7 5 6 + 5 7 ≈ 0.77 F_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 F1Score2=2×Precision2+Recall2Precision2×Recall2=2×65+7565×750.77

F 1 S c o r e 预 测 3 = 2 × P r e c i s i o n 预 测 3 × R e c a l l 预 测 3 P r e c i s i o n 预 测 3 + R e c a l l 预 测 3 = 2 × 0.7 × 1 0.7 + 1 ≈ 0.82 F_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 F1Score3=2×Precision3+Recall3Precision3×Recall3=2×0.7+10.7×10.82

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐