從女友和老媽的使用角度看精確率(precision)和召回率(recall)的不同
- 2020 年 2 月 14 日
- 筆記
機器學習和深度學習中,精確率和召回率經常會被提起,但因為定義有點繞了,許久不用後,又通常容易忘記或者是搞混。
本文以一個稍顯調皮的例子說明兩者的不同,以便自己能夠加深理解。
定義
Precision = TP / (TP + FP) Recall = TP / (TP + FN)
那麼 TP、FP、FN 都代表什麼呢?
記住一點,這些概念都是基於預測結果和真實結果的比對。
TP
TP 是 True Positives 的縮寫,指的是真正的正樣本,也可以叫做真陽性。
真實情況:正樣本。 預測結果:正樣本。
FN
FN 是 False Negatives 的縮寫,指的是假的負樣本,也叫做假陰性。
真實情況:正樣本。 預測結果:負樣本。
TN
TN 是 True Negatives 的縮寫,指的是真的負樣本,也叫做真陰性。
真實情況:負樣本。 預測結果:負樣本。
FP
FP 是 False Positives 的縮寫,指的是假的正樣本,也叫做假陽性。
真實情況:負樣本。 預測結果:正樣本。
精確率 (Precision)
Precision=TPTP+FP Precision = frac{TP}{TP+FP} Precision=TP+FPTP
精確率表示的是在預測所有為正類的結果中,真實的正類的比例。
怎麼理解呢?
來一個場景,這個需要媽媽的配合。
周一 |
周二 |
周三 |
周四 |
周五 |
---|---|---|---|---|
媽媽 |
媽媽 |
外賣 |
外賣 |
媽媽 |
上面這張表是你上個月某一周晚餐的情況,媽媽代表晚餐是媽媽做的,外賣代表這一天你吃的外賣。
有一天,因為某些原因,你需要回憶一下那一周的晚餐情況。
你努力想了想,只記得 4 天的情況,然後說出了自己的答案。
周一 |
周二 |
周三 |
周四 |
周五 |
---|---|---|---|---|
媽媽 |
媽媽 |
外賣 |
外賣 |
媽媽 |
媽媽 |
? |
外賣 |
媽媽 |
媽媽 |
假如預測結果是媽媽代表 Positive.
那麼在 4 個結果中,你預測了 3 個 Positive。
但是在這裡。
TP = 2 (周一,周五) FP = 1 ( 周四)
所以呢,精確率是多少?
Precision=TPTP+FP=22+1=0.67 Precision = frac{TP}{TP+FP}=frac{2}{2+1}=0.67 Precision=TP+FPTP=2+12=0.67
得知這個結果時候,你的母親露出標誌性的慈母笑。
"我兒子真棒!媽媽做的飯菜大多都記得。"
召回率 (Recall)
Recall=TPTP+FN Recall = frac{TP}{TP+FN} Recall=TP+FNTP
召回率表示的是,在所有正樣本中,被預測出來的比例。
怎麼理解呢?
還是同樣的場景,不過這次需要你女友的配合。
周一 |
周二 |
周三 |
周四 |
周五 |
周六 |
周日 |
---|---|---|---|---|---|---|
外賣 |
外賣 |
女友 |
外賣 |
女友 |
外賣 |
女友 |
去年的某一周,這是你的晚餐情況。
女友代表那天晚餐她做的,外賣代表你叫的外賣自己解決。
因為某種原因,你需要回憶那一周的情況。
因為時間過得太久,你只能拍腦袋決定了。
周一 |
周二 |
周三 |
周四 |
周五 |
周六 |
周日 |
---|---|---|---|---|---|---|
外賣 |
外賣 |
女友 |
外賣 |
女友 |
外賣 |
女友 |
外賣 |
外賣 |
外賣 |
外賣 |
女友 |
女友 |
外賣 |
女友選項是正樣本。
你的預測結果中,有 2 個正樣本。 但是,TP = 1, FP = 1。
另外,周三和周日屬於 FN 的情況。
所以,召回率是多少呢?
Recall=TPTP+FN=11+2=0.33 Recall = frac{TP}{TP+FN}=frac{1}{1+2}=0.33 Recall=TP+FNTP=1+21=0.33
這個結果如何呢?
你自己心裡應該有數。
「面對疾風吧!!!」
總結
要區分精確率和召回率要看分母。
精確率的分母是你預測的所有的正樣本數量,因此精確率代表了區分負樣本的能力。
召回率的分母是所有真實情況的正樣本數量,召回率代表了區分正樣本的能力。