理解精度(precision)和召回率(recall)

理解精度(precision)和召回率(recall)

最近经常会理解不清楚什么是精度什么是召回率,故写下此文章

我们先来看看维基百科上对Precision和recall作出的解释:

Precision (also called positive predictive value) is the fraction of relevant instances among the retrieved instances.

Recall (also known as sensitivity) is the fraction of relevant instances that were retrieved.

噢如果这么看的话,那肯定还是更复杂了一点,估计以后又记不住了 😭

所以我让chatGPT帮我翻译成人能听懂的话:

我们先假设你正在训练一个模型来判断电子邮件是否是垃圾邮件(垃圾邮件分类器)。你有一堆已经标记好的电子邮件,有些是垃圾邮件,有些是正常邮件。你的目标是让模型尽可能准确地识别出新的未知电子邮件是否是垃圾邮件。

  • 精度(Precision)

    在这个假设中,模型判断一个电子邮件是垃圾邮件时,实际上是垃圾邮件的比例。换句话说,如果模型说某封邮件是垃圾邮件,那么它确实是垃圾邮件的概率有多大。

    • 公式: 精度 = 真正是垃圾邮件的数量 / (真正是垃圾邮件的数量 + 错误地标记为垃圾邮件的数量)

    假设模型判断了100封邮件为垃圾邮件,其中实际上只有90封是真正的垃圾邮件,另外的10封其实是误判的,那么该模型的精度就是 90 / (90 + 10) = 0.9

  • 召回率(Recall)

    在这个假设中,在所有实际上是垃圾邮件的邮件中,模型成功判断出多少封,也就是说如果有100封邮件是垃圾邮件,模型能够成功找到多少封

    • 公式: 召回率 = 真正是垃圾邮件的数量 / (真正是垃圾邮件的数量 + 错误地把垃圾邮件漏掉的数量)

    假设实际上有100封垃圾邮件,但模型只能成功找到80封邮件,剩下的20封都被漏掉了,

    那么模型的召回率就是 80 / (80 + 20)= 0.8

从上面这个例子我们可以知道,精度关注的是模型判断为垃圾邮件的邮件中有多少是真的垃圾邮件,而召回率关注的是模型成功找到了多少实际上是垃圾邮件的邮件。这两个指标在实际应用中需要权衡,因为提高精度可能会降低召回率,反之亦然。好的模型应该在精度和召回率之间取得平衡,以便准确地识别出尽可能多的垃圾邮件。不得不说乍一看二者还挺难区分的

我们经常还会在其他地方看到查准率和查全率,总结一下:

  • 召回率——查准率——recall
  • 精确率——查全率——precision

那我们实际用公式来怎么表示呢?

我们先来了解一下几个表示:

  • True Positive(真正, TP):预测对了,原本是正样本,预测的结果也是正样本
  • True Negative(真负 , TN):预测对了,原本是负样本,预测结果也是负样本
  • False Positive(假正, FP):预测错了,本来是负样本,预测结果为正样本 → 误报
  • False Negative(假负 , FN):预测错了,本来是正样本,预测结果为负样本 → 漏报
Positive(正面的)Negative(负面的)
TrueTPTN
FalseFPFN

了解这些以后,我们就可以把精确率和召回率用公式来表示:
精确率: P r e = T P T P + F P 召回率: R e c a l l = T P T P + F N 精确率:P r e = \frac{TP}{TP+FP} 召回率:Recall = \frac{TP}{TP+FN} 精确率:Pre=TP+FPTP召回率:Recall=TP+FNTP

TP+FP+TN+FN样本总数
TP+FN实际正样本数
TP+FP预测结果为正样本的总数,包括预测正确的和错误的
FP+TN实际负样本数
TN+FN预测结果为负样本的总数,包括预测正确的和错误的

分析

如果我们在一个模型中,他的召回率比较高,那么说明,该模型可以找到更多的东西

也就是说他要找的全,所以他也叫做查全率

那如果我们在一个模型中,他的精确率比较高,那么说明,该模型可以找到更正确的东西,

也就是说他要找的对,所以他也叫查准率

我们在训练一个模型的时候,当然希望他可以查的又全又准,但这两个指标之间又存在着相互矛盾,所以我们还需要根据实际来判断和分析

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值