理解查全率与查准率

  • 1. 概念解读
  • 2. F1F_1F1​度量
  • 3. FβF_\betaFβ​度量

1. 概念解读

在一个二分类问题中,非对既是错

真实情况\预测情况 positive negative
True TP TN
False FP FN

Notice: 上面的图表是个反例,错误的原因是T\F的使用,T代表着预测正确,F代表着预测错误。

真实情况\预测情况 positive negative
True TP FN
False FP TN
  • 查全率
    precison=TPTP+FN\textrm{precison}=\frac{\mathrm{TP}}{TP+FN}precison=TP+FNTP​
  • 查准率
    recall=TPTP+FP\textrm{recall}=\frac{\mathrm{TP}}{TP+FP}recall=TP+FPTP​

查准率(Precision)就是你认为是对的样例中,到底有多少真是对的。
查全率(Recall)就是所有对的样例,你找出了多少,或者说你判断对了多少。

tip: 我在刚刚接触到这两个概念的时候总是傻傻分不清楚,这里记录一下我现在的看法。如上图数据,横着看表示数据集的正负分布,正集:TP∪FN\textrm{TP}\cup\textrm{FN}TP∪FN; 负集: FP∪TN\textrm{FP}\cup\textrm{TN}FP∪TN。首先查全率和查准率的分子都是TP\textrm{TP}TP,表示所有猜对的正集,查准率针对的是预测集中认为是对的样例,分母是TP+FPTP+FPTP+FP;查全率针对的是所有正确的样例,分母是TP+FNTP+FNTP+FN。

这里有一个问题: :查准率和查全率是一对矛盾的度量。一般来说查准率高时,查全率往往偏低;反之同理。 可是为什么就不能两个都高呢?
引用西瓜书上面的回答:

若希望将好瓜尽可能多的选出来,则可通过增加选瓜的数量来实现,如果将所有的西瓜都选上,那么所有的好瓜也必然都被选上了,但这样查准率就会较低,通常只有简单的问题,才会使查全率和查准率都很高。

2. F1F_1F1​度量

F1F_1F1​度量是基于查全率与查准率的调和平均(harmonic mean)。
定义为:
1F1=12(1P+1R)\frac{1}{F_1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R})F1​1​=21​(P1​+R1​)
F1=2×P×RP+R=2×TP2×TP+FP+FNF_1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{2\times TP+FP+FN}F1​=P+R2×P×R​=2×TP+FP+FN2×TP​

3. FβF_\betaFβ​度量

FβF_\betaFβ​是加权调和平均,是F1度量的一般形式。
1Fβ=11+β2(1P+β2R)\frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R})Fβ​1​=1+β21​(P1​+Rβ2​)

理解查全率(precision)与查准率(recall)相关推荐

  1. 查准率和查全率(precision and recall)

    查准率和查全率(precision and recall) 最近在论文中看到recall,一时想不起来了它的内在含义,如果你也忘了的话,可以一起复习一下. 查准率和查全率(precision and ...

  2. 查准率-查全率precision recall(PR)曲线Matlab实现

    在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...

  3. python垃圾分类准确率计算公式_准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure...

    机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision), ...

  4. 深度学习参数对模型的影响:Loss(损失)、方差、Precision(精确度)、Recall(召回率

    损失.方差.precision_精确度.recall_召回率对模型的影响 深度学习之Metrics 一. 偏差.方差.精确率.召回率 四个概念 二.一个好的模型对这几个指标有什么样的要求? 三. 基于 ...

  5. classification_report进阶:针对top-k的结果计算precision@k、recall@k、f1-score@k

    sklearn自带的classification_report方法可以针对二分类或多分类问题,计算分类器的precision.recall和f1-score. 示例: from sklearn.met ...

  6. python计算precision@k、recall@k和f1_score@k

    sklearn.metrics中的评估函数只能对同一样本的单个预测结果进行评估,如下所示: from sklearn.metrics import classification_reporty_tru ...

  7. 机器学习-Precision(查准率)、Recall(查全率)、P-R曲线

    目录 前言 一.查准率P.查全率R与P-R曲线 二.Python实现 总结 前言 我们经常会关心"检索出的信息中有多少比例是用户感兴趣的""用户感兴趣的信息中有多少被检索 ...

  8. 清晰理解precision(精确度)和recall(召回度)

    1.TP TN FP FN的概念 TP TN FP FN里面一共出现了4个字母,分别是T F P N. TP(True Positives)意思就是被分为了正样本,而且分对了. TN(True Neg ...

  9. 【机器学习】准确率(Accuracy), 精确率(Precision), 召回率(Recall)和F1-Measure

    在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前常常采用的评价指标有准确率(Precision).召回率(Recall).F值(F-Measure)等,下图是不同机器学习 ...

最新文章

  1. 线上订单号重复了?一招搞定它!
  2. [转]PHP: 深入pack/unpack
  3. swift_010(Swift 的可选类型)
  4. 计算机系统结构广义定义,《计算机系统结构》电子教案(清华版).ppt.ppt
  5. php foreach 循环 判断index 小于多少_PHP设计模式之迭代器模式 - 硬核项目经理
  6. python(numpy,pandas11)——pandas merge根据索引合并数据
  7. win10安装jdk1.8并配置环境变量_win10系统安装jdk13.02的环境变量配置
  8. REST和RESTful有什么区别
  9. Linq转换操作之OfType,Cast,AsEnumerable,ToLookup源码分析
  10. JAVA实用教程(第2版)配套源码笔记
  11. 论文句子转换软件v.1.2.3
  12. 当前日期或 *(星号)显示在 think-cell 标签中
  13. vue将文件图片批量打包下载zip
  14. Android - scheme 一个app跳转另一个app、模块开发
  15. Python(十三)IO编程
  16. 耳朵大寿命长 由耳可辨疾病
  17. MySQL数据库学习·数据库的创建,修改,删除
  18. 计算机流水线重要知识,计算机组成与体系结构——流水线相关知识点(常考计算)...
  19. 前额出现痘斑是肝脏含过多毒素所致(图)
  20. 会议室LED大屏如何实现无线连接投屏显示?

热门文章

  1. 《乔布斯传》圈点(末篇)
  2. comm.PSKModulator函数详解
  3. 2021-2027全球与中国人体解剖学模型市场现状及未来发展趋势
  4. Oracle根据中文首字母排序
  5. C# npoi读execel 未能加载文件或程序集“ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neut al, PublicKeyTok
  6. 2013年9月25日星期三(demo5_2点法式平面)
  7. 很久以前看到的很经典的小说
  8. java 判断zip文件编码_如何使用UTF-8编码打开java程序生成的zip文件
  9. ESM测向误差对定位误差的影响分析
  10. 5.15 vs2019 静态编译_Go Web 开发如何优雅的包含静态资源文件?