本文介紹機器學習中的二分類性能評估指標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