`
flyfoxs
  • 浏览: 293923 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

白话理解: 准确率(Accuracy), 精确率(Precision), 召回率(Recall)

阅读更多

本文重点是在白话,不是数学上面的严格定义. 那首先要有一个业务场景,就好比上学,学习数据库,就要用到学生成绩. 在这,我们的业务场景就是对100个西瓜进行分类(已知生熟各半)

 

下面是针对上面场景,对各个术语的解释

准确率(Accuracy): 对所有西瓜分类正确的比率.

精确率(Precision): 挑出来的熟西瓜,有多少是正确的.

召回率(Recall) : 50个熟西瓜,有多少被分来到熟西瓜这个类别.

 

下面我们来分析各个术语有什么应用场景:

Accuracy: 这个是我们最常用的,但是这个指标有一个缺点,就是当数据分来不均匀的时候,就没办法用于业务了. 比如, 当生西瓜只有2个,熟西瓜有98个的时候. 只要判断所有的都是熟西瓜,准确率就是98%.但是这个模型其实是不合理的.

 

Precision: 这个指标就是为吃瓜群众准备的了, 比如100个西瓜里面,我只需要挑选出2个西瓜,并且都是熟西瓜,那么这个Precision就是100%. 其他的西瓜,就可以都判断为生西瓜.

 

Recall: 这个指标就是为瓜农准备的了, 瓜农肯定是想100%把所有的熟西瓜挑出来,送到市场上卖, 有多少熟西瓜被挑选出来了,就是用Recall这个指标来衡量了.

 

如果是黑心瓜农,直接把所有的西瓜,都当成熟西瓜,那么Recall就是100%了. 想想宁可错杀一千,不能错过一个.就是只注意了Recall.

如果是良心瓜农的话,会兼顾Precision. 也就是尽可能的排除生西瓜.

 

 

下面是三个不同角色对应的场景举例:

  • 针对吃瓜群众, 只希望挑出2个熟西瓜.其他的不管(Precision=100%)
 

 

Precision =2/(2+0) 100.00%
Recall =2/(2+48) 4.00%
F1 =2*1*0.04/(1+0.04) 7.69%

 

 

  • 黑心瓜农,所有的熟西瓜一个也不能放过,至于有没有生西瓜混入,完全不管. 那就是可以把所有100个西瓜当成熟西瓜卖个消费者. (Recall = 100%)


 
Precision =50/(50+50) 50.00%
Recall =50/(50+0) 100.00%
F1 =2*0.5*1/(0.5+1) 66.67%

 

 

  • 良心瓜农,经验丰富,可以识别大部分的熟西瓜,当然也会有些失误混入了少量生西瓜.这个模型比较均衡, Precision 和Recall相对比较高. 



 

 

Precision =48/(48+2) 96.00%
Recall =48/(48+2) 96.00%
F1 =2*0.96*0.96/(0.96+0.96) 96.00%

 

 

 

各种指标的数学定义公式:



 

  • 大小: 55.5 KB
  • 大小: 54.4 KB
  • 大小: 53.2 KB
  • 大小: 150.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics