深入理解——召回率(recall) 准确率(precision) 精度(accuracy) 错误率(error)

精度(accuracy)和错误率(error)

这个最常用,用在常见的分类任务中,比如有鸡,鸭,鹅,狗,猫若干,让模型一一回答他们的类别,见到扁嘴脖子长还会嘎嘎叫的,回答为鸭,预测正确,否则回答错误。最后 (回答正确个数) 除以 (鸡鸭鹅狗猫总数) = 精度.

错误率则是1-精度

尽管精度或错误率能够衡量模型的分类能力,但很多场景下精度高并不代表这个模型就好。举个例子,比如在病情诊断过程中,需要模型判断体检样片呈现的是“健康”,“早期”,还是“晚期”三个情况,该模型能够到达95%的精度,即给100个样片,能够保证误判控制在5个以内。看似很不错,但是体检有一个特点,就是大多数人都是健康的,即我哪怕瞎猜都健康也能达到至少80%的精度,但事实上漏掉的那些才是真正important的,所以我们进一步需要查准率和查全率这样的指标。

查准率(precision)和查全率(recall)

先搬一段周志华书中的解释,其实已经解释的非常好了,下面我依据个人理解再进一步补充一些。

什么时候查准率会很高,那就是只挑选最有把握的,比如在安防监控异常事件监测时,在模型训练好之后投入使用时,你可以调整阈值,使模型选择得分最高的一些场景报警,而忽略那些不太有把握的,此时在预测了100个场景之后,很可能模型只报警了10次,在这10次报警中有8次确实是危险场景,即正确报警(TP),另外2次则是误报(FP),即并没有危险事件发生,这时候查准率就会很高,为8/10=80%。但是我们会发现,剩下90次未报警的场景中,会有很多得分偏低但确实有危险发生的场景被未报警,比如有30次漏掉(FN)的话,那查全率就是8/(8+30)=21.05%,这时就是为了查准而放弃了很多可疑场景,导致查全率特别低。

所以,查准率和查全率往往是一对矛盾的量,想要保证查准率就需要舍弃一些查全率,在实际应用中,需要设置好阈值,也就是在“不要乱报”(得分很高时才报,拿不准的就放过,此时查准率高)和“宁可错杀一千,不可放过一个”(只要得分足够高,就列为嫌疑犯,此时查全率高)中做好权衡。

那有没有可能使这两者同时高呢?当然有可能,这取决于你模型的能力,设想下面几种情况:假设你训练的模型是上帝,对所有的二分类问题都能准确的回答是或不是,也就是能做到Accuracy为100%。在这种情况下,就能保证查准率和查全率同为为100%。此时,如果模型的能力略有降低,Accuracy降到95%左右,此时模型在对100个视频做了预测之后,报警35次,其中有33次是正确的(TP),2次是误报,另外还有5次漏报,则此时查准率为33/35=94.3%,查全率为33/38=86.9。也就是说尽管二者是矛盾的,但他的的表现和Accuracy有着必然的联系。如果你的模型预测能力很差,那么如果你想保证较高的查准率,这必须大幅度牺牲查全率,反过来也是一样,要想保证查全率,就要大幅牺牲查准率;但如果你的模型预测能力还可以,那么二者相互牺牲的代价就不会那么大;一旦你的模型预测能力报表,则相互牺牲的程度就更低,甚至可以使二者都很高。所以Accuracy是查准率和查全率的重要保证。

误报率 漏报率

在真正理解了这两个量之后,还有必要了解一下误报率(虚报率)和漏报率,误报率=1-查准率,漏报率=1-查全率。

这些个概念恐怕用久了之后才能真正理解和掌握,笔者也是边学边理解和记录,其中一定有错误的地方,希望大家及时质疑和指正, 共同进步~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值