1. 程式人生 > >機器學習:效能度量指標之查準率和查全率

機器學習:效能度量指標之查準率和查全率

    在很多實際應用中,我們知道僅僅關心正確分類的結果是不夠的,並且,在資料偏斜比較嚴重的情況下,模型準確率可能具有相當程度的誤導性,我們也需要知道資料被錯誤分類的情況,以確認為此需要承擔的分類錯誤的代價。(False Positive假陽性和False Negative假陰性,這兩種情況)

查準率(Precision精度):用於描述所有被正確分類的樣本中真陽性的比值。

查全率(Recall召回率):真陽性樣本的數量與樣本集中所包含的全部陽性樣本的比值。

                                     分類結果混淆矩陣

真實情況

                          預測結果

TP

FN

FP

TN

如上矩陣所示:

我們將演算法預測的結果分為四種情況:

TP(True Positive):真正例(正確肯定),預測為真,實際為真

FN(False Negative):假反例(錯誤否定),預測為假,實際為真

FP(False Positive):假正例(錯誤肯定),預測為真,實際為假

TN(True Negative):真反例(正確否定),預測為假,實際為假

假設我們想要用機器學習演算法來預測腫瘤是不是惡性的

其中,查準率的定義為:P=TP/(TP+FP)

它表示在所有我們預測有惡性腫瘤的病人中,實際患有惡性腫瘤的病人百分比,比例越高,說明FP越小,查得越準。

召回率定義為:R=TP/TP+FN

它表示在所有實際是惡性的樣例中,預測為惡性的比例。比例越高,說明FN越小,漏掉的惡性的樣例越少,查得越全。

降低閥值,提高Recall

提高閥值,提高Precision

在這塊我們可以看出,查準率和查全率直接是比較矛盾的,要想查準率高,那麼你就要將你最有把握認為是惡性的腫瘤選出來,但這樣就會漏掉一些被誤認為是良性,實際是惡性的腫瘤,使得查全率比較低;相反,要是想要查全率比較高,那麼就要在預測的時候儘可能多的預測一些腫瘤是惡性的,如果是這樣的話,那麼實際上是惡性的腫瘤確實被預測出來了,查全率也確實高了,但相應,查準率也降低了。

那麼在這塊,我們引入F1度量,用它來平衡查準率與查全率

F1 = 2*P*R/(P+R) = 2PR/(樣例總數-TP-TN)

若對查準率/查全率有不同偏好:

>1時查全率有更大影響,<1時查準率有更大影響。