从女友和老妈的使用角度看精确率(precision)和召回率(recall)的不同

机器学习和深度学习中,精确率和召回率经常会被提起,但因为定义有点绕了,许久不用后,又通常容易忘记或者是搞混。

本文以一个稍显调皮的例子说明两者的不同,以便自己能够加深理解。

定义

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)

P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP}

精确率表示的是在预测所有为正类的结果中,真实的正类的比例。

怎么理解呢?

来一个场景,这个需要妈妈的配合。

周一 周二 周三 周四 周五
妈妈 妈妈 外卖 外卖 妈妈

上面这张表是你上个月某一周晚餐的情况,妈妈代表晚餐是妈妈做的,外卖代表这一天你吃的外卖。

有一天,因为某些原因,你需要回忆一下那一周的晚餐情况。

你努力想了想,只记得 4 天的情况,然后说出了自己的答案。

周一 周二 周三 周四 周五
妈妈 妈妈 外卖 外卖 妈妈
妈妈 外卖 妈妈 妈妈

假如预测结果是妈妈代表 Positive.

那么在 4 个结果中,你预测了 3 个 Positive。

但是在这里。

TP = 2 (周一,周五)
FP = 1 ( 周四)

所以呢,精确率是多少?

P r e c i s i o n = T P T P + F P = 2 2 + 1 = 0.67 Precision = \frac{TP}{TP+FP}=\frac{2}{2+1}=0.67

得知这个结果时候,你的母亲露出标志性的慈母笑。

"我儿子真棒!妈妈做的饭菜大多都记得。"

召回率 (Recall)

R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN}

召回率表示的是,在所有正样本中,被预测出来的比例。

怎么理解呢?

还是同样的场景,不过这次需要你女友的配合。

周一 周二 周三 周四 周五 周六 周日
外卖 外卖 女友 外卖 女友 外卖 女友

去年的某一周,这是你的晚餐情况。

女友代表那天晚餐她做的,外卖代表你叫的外卖自己解决。

因为某种原因,你需要回忆那一周的情况。

因为时间过得太久,你只能拍脑袋决定了。

周一 周二 周三 周四 周五 周六 周日
外卖 外卖 女友 外卖 女友 外卖 女友
外卖 外卖 外卖 外卖 女友 女友 外卖

女友选项是正样本。

你的预测结果中,有 2 个正样本。
但是,TP = 1, FP = 1。

另外,周三和周日属于 FN 的情况。

所以,召回率是多少呢?

R e c a l l = T P T P + F N = 1 1 + 2 = 0.33 Recall = \frac{TP}{TP+FN}=\frac{1}{1+2}=0.33

这个结果如何呢?

你自己心里应该有数。

“面对疾风吧!!!”

总结

要区分精确率和召回率要看分母。

精确率的分母是你预测的所有的正样本数量,因此精确率代表了区分负样本的能力。

召回率的分母是所有真实情况的正样本数量,召回率代表了区分正样本的能力。

发布了103 篇原创文章 · 获赞 3383 · 访问量 176万+

猜你喜欢

转载自blog.csdn.net/briblue/article/details/103879286
今日推荐