天天看點

機器學習-基礎知識 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score, BalAccuracy

本文介紹機器學習中的二分類性能評估名額Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TNR, TPR, F1 Score, Balanced F Score基本含義,給出公式和具體算例,并作簡要分析。

基礎定義

評估名額 預測結果
正樣本 負樣本
實際情況 正樣本 TP FN
負樣本 FP TN
具體含義和了解參考 機器學習-基礎知識- TP、FN、FP、TN。
機器學習-基礎知識 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score, BalAccuracy

示例用例

樣本資訊
樣本編号 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 分數

/

平衡F分數

含義:F1分數兼顧了分類模型的精确率和召回率,定義為模型精确率和召回率的調和平均數。

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