1. 程式人生 > >機器學習 模型評估中的 精確率、召回率、F1、ROC、AUC

機器學習 模型評估中的 精確率、召回率、F1、ROC、AUC

文章目錄

1 混淆矩陣

準確率對於分類器的效能分析來說,並不是一個很好地衡量指標,因為如果資料集不平衡(每一類的資料樣本數量相差太大),很可能會出現誤導性的結果。例如,如果在一個數據集中有95只貓,但是隻有5條狗,那麼某些分類器很可能偏向於將所有的樣本預測成貓。整體準確率為95%,但是實際上該分類器對貓的識別率是100%,而對狗的識別率是0%。所以我們先引入一個概念,混淆矩陣 參考文件,我們直接看一個例子。

1.2 多分類的例子

假設有一個用來對貓(cats)、狗(dogs)、兔子(rabbits)進行分類的系統,混淆矩陣就是為了進一步分析效能而對該演算法測試結果做出的總結。假設總共有 27 只動物:8只貓, 6條狗, 13只兔子。結果的混淆矩陣如下圖:
在這裡插入圖片描述

在這個混淆矩陣中,實際有 8只貓,但是系統將其中3只預測成了狗;對於 6條狗,其中有 1條被預測成了兔子,2條被預測成了貓。從混淆矩陣中我們可以看出系統對於區分貓和狗存在一些問題,但是區分兔子和其他動物的效果還是不錯的。所有正確的預測結果都在對角線上,所以從混淆矩陣中可以很方便直觀的看出哪裡有錯誤,因為他們呈現在對角線外面。


混淆矩陣是用來總結一個分類器結果的矩陣。對於k元分類,其實它就是一個k x k的表格,用來記錄分類器的預測結果,對於最常見的二分類來說,它的混淆矩陣是2乘2的。本次主要也是使用二分類來進行分析。

2.2 二分類的例子

我們先看一個圖
在這裡插入圖片描述

再對比下我們的0-1預測:

預測值=1 預測值=0
真實值=1 True Positive(TP) False Negative(FN)
真實值=0 False Positive (FP) True Negative(TN)

各類定義:
真陽性(True Positive,TP):樣本的真實類別是正例,並且模型預測的結果也是正例
真陰性(True Negative,TN):樣本的真實類別是負例,並且模型將其預測成為負例
假陽性(False Positive,FP):樣本的真實類別是負例,但是模型將其預測成為正例
假陰性(False Negative,FN):樣本的真實類別是正例,但是模型將其預測成為負例

混淆矩陣延伸出的各個評價指標:
準確度(Accuracy) = (TP+TN) / (TP+TN+FN+TN)
正確率(Precision) = TP / (TP + FP)
真陽性率(True Positive Rate,TPR),靈敏度(Sensitivity),召回率(Recall) = TP / (TP + FN)
真陰性率(True Negative Rate,TNR),特異度(Specificity) = TN / (TN + FP)
假陰性率(False Negatice Rate,FNR),漏診率( = 1 - 靈敏度) = FN / (TP + FN) = 1 - TPR
假陽性率(False Positice Rate,FPR),誤診率( = 1 - 特異度) = FP / (FP + TN) = 1 - TNR
F1-值(F1-score) = 2 * TP / (2 * TP+FP+FN)

2.3 二分類真實數值計算

預測值=1 預測值=0
真實值=1 5 2
真實值=0 4 4

在上面例子中各項評價指標的計算

  1. 準確度(Accuracy) = (TP+TN) / (TP+TN+FN+TN), 準確度 = (5+4) / 15 = 0.6
  2. 正確率(Precision) = TP / (TP + FP),精度 = 5 / (5+4) = 0.556
  3. 真陽性率(True Positive Rate,TPR),靈敏度(Sensitivity),召回率(Recall) = TP / (TP + FN), 召回 = 5 / (5+2) = 0.714
  4. 真陰性率(True Negative Rate,TNR),特異度(Specificity) = TN / (TN + FP), 特異度 = 4 / (4+2) = 0.667
  5. 假陰性率(False Negatice Rate,FNR),漏診率( = 1 - 靈敏度) = FN / (TP + FN) = 1 - TPR, 特異度 = 2 / (5+2) = 0.286
  6. 假陽性率(False Positice Rate,FPR),誤診率( = 1 - 特異度) = FP / (FP + TN) = 1 - TNR 特異度 = 2 / (4+2) = 0.333
  7. F1-值(F1-score) = 2 * TP / (2 * TP+FP+FN), F1-值 = 2 * 5 / (2 * 5+4+2) = 0.625

2 各類指標的優缺點