圖解精度和召回率
下面這個圖表示了精度和召回率這兩個指標,主要用在於分類問題中。

圖片發自簡書App
例如有一個二分類問題的演算法。
圖中的圓圈裡面代表演算法判定為正的一些樣本。
圓圈的外面代表演算法判定為負的一些樣本。
但實際上演算法它是會有一些東西誤判的。
例如方形的左邊一半,是實際上為正的樣本。右邊一半,是實際上為負的樣本。那除了演算法判斷正確的,以外,就是判斷錯誤的樣本。
可以對照這個圖,看一下準確率,精度,和召回率的定義。
右上角是準確率的公式。意思就是,演算法的所有預測結果中,預測正確的有多少
左下角為 precision 精度 查準率就是對於所有機器判定為正的裡面,有多大的比例是真的正樣本
右下角為 recall 召回率 查全率,顧名思義,就是實際的正樣本中,有多大比例被檢出了
在圖中有標記,陰陽,真假。
真/假 陰/陽性中,陰陽性是指的分類器的判斷結果是陰性還是陽性,而真假指代的是是否和真是答案相符
不同的問題,他需要用的指標,希望達到的目標是不一樣的。
我們根據召回率這個名字,可以考慮一個,召回的例子。
例如有一個汽車公司,他們有一些車發現有問題,
於是就要召回,他們告訴了車主判斷問題的方法,
有些車是真的有問題,但是車主沒判斷出來,
有些車沒問題,但車主認為有問題,
這個時候公司就要計算一下召回率,看有問題的車被召回了多少。
精度—召回率 之間存在制衡
隨著精度的增加,召回率會降低,召回率增加,精度就會降低。
有時如果需要召回率高,就可以接受較低的精度。
如果我們想要找到精度和召回率的最佳組合,我們可以使用 F1 score 來對兩者進行結合。
F1 score 是對精度和召回率的調和平均,有個公式
如果我們想建立一個具有最佳的精度—召回率平衡的模型,那麼就要嘗試將 F1 score 最大化。
在實際應用時,因為是分類演算法,會有一個閾值,當結果高於這個閾值時為一類,低於這個閾值時為另一類。
對每個閾值可以計算相應的 精度 召回率 f1 等指標,

圖片發自簡書App
通過更改閾值,這些指標都會變化,
如果想要精度和召回率平衡,可以選擇最大化 F1 score 時候的閾值
例如上圖,基於 F1 score,整體最佳的模型出現在閾值為 0.5 的地方。
如果我們想要在更大程度上強調精度或者召回率,我們可以選擇這些指標上最佳時對應的模型。