1. 程式人生 > >關於機器學習中Precision和Recall的概念的理解

關於機器學習中Precision和Recall的概念的理解

Andrew Ng 機器學習第六課

關於這個Precision和Recall的概念,我一直不能很好的理解,所以我找了個時間梳理的了一下。

這裡寫圖片描述
- Accuracy = 準確率 預測對的除以總樣本數
- Precision = 預測正率
- Recall = 查對率 預測對佔實際是對的

理解資料

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

以上內容都為轉載.

幫助理解的例子

拿導彈的例子:雷達收到 100個導彈訊號 ,只有3個是真的導彈 ,97
個全是假的模擬導彈訊號。而我們的預測器(分類器) 預測出來 98個是
模擬導彈訊號,而1個沒有被預測出來,而這一個會帶來毀滅性傷害。

這時候我們希望 Precision 大一點 我們不希望 一個被沒有預測出來而毀 了整座城市,更多的時候我們寧願預測錯多一點也不想放過一個真導彈 Recall低 Recall可以低一點。
因為Recall低了把很對實際上是假導彈當為真導彈。但是它並沒有漏掉(漏檢)真導彈。
這裡寫圖片描述


Recall = 100% Precision = 66.7%

另外一個例子:在法庭上有審判100個可疑的謀殺犯人。 95個是真的謀
殺犯,而5個並不是謀殺犯。而檢察官(分類器)判定其中97個是謀殺犯,
顯然其中有兩個人是被冤枉的。

這個這時候我們很大程度上並不希望有人會被冤枉。我們希望Recall高一點,被冤枉的人少一點。但是我們也希望Precision要高一點,因為我們又不想放過那些殺了人卻逃過一劫的人。

這裡寫圖片描述
Recall = 97.9% Precision = 100%

但是很多時候,魚和熊掌不可兼得,所以我們更希望根據Precision和Recall的主次(權重)把模型優化到最優。