一开始接触查全率和查准率时遇到一个想不明白的地方:查准率和查全率是一对矛盾的度量。一般来说查准率高时,查全率往往偏低;反之同理。  可是为什么就不能两个都高呢?为了解决这个疑惑,决定还是记录一下原本感觉没必要记录的相关的知识。。。。。

首先呢,举一个例子。在信息检索中,我们常常关心“检索出得信息中有多少比例是用户感兴趣的”“用户感兴趣的信息中有多少被检索出来了”。查准率(precision)与查全率(recall)是为适用于此类需求的性能度量。对于二分类问题,可列出分类结果的“混淆矩阵”(confusion matrix)

  预测结果 预测结果
真实情况 正例 反例
正例 TP FN
反例 FP TN

查准率P与查全率R的定义为: 

下面就回到了我遇到疑惑的地方,一般来说,查准率较高时,查全率往往偏低;而查全率高时,查准率往往偏低。 西瓜书中给了一个例子:若希望将好瓜尽可能多的选出来,则可通过增加选瓜的数量来实现,如果将所有的西瓜都选上,那么所有的好瓜也必然都被选上了,但这样查准率就会较低(个人理解为,在模型能力有限的情况下,如果想更少的遗漏正例,那么筛选的标准在相对的降低,从而查准率下降)若希望选出的瓜中好瓜比例尽可能高,则可以只挑选最有把握的瓜,但这样就难免会漏掉不少好瓜,使得查全率降低(个人理解就好比生产厂家提高了审核标准导致优质品产量降低)。 通常只有在一些简单任务中,才可能使查全率和查准率都很高。(所以归根到底还是解决问的方法相较复杂的问题而言能力不足啊)

在很多情况下,可根据学习器的预测结果对样例进行排序,排在前面的时学习器认为“最可能”是正例的样本,排在后面的是最不可能的。按此顺序逐个把正例进行预测,则每次可以计算出当前的查全率、查准率,并绘制P-R曲线。

P-R图直观的显示出学习器在样本总体上的查全率、查重率。  比较合理的判断学习器好坏的依据是比较P-R曲线下面积的大小,他在一定程度上表征了学习器在查准率和查全率上取得的相对“双高”的比例。但这个值不太容易估算,因此,人们设计了一些综合考虑查准率,查全率的性能度量。

“平衡点”(Break-Even Point)就是这样一个度量,它是“查准率=查全率”时的一个取值。但BEP还是过于简化了些,更常用的是一个叫做F1度量的家伙:

    ALL为样例总数

F1度量的一般形式:  ,能让我们表达出对查准率/查全率的不同偏好。其中度量了查全率对查准率的相对重要性。时退化为标准的F1;时查全率有更大影响;时查准率有更大影响。

有很多时候我们有多个二分类混淆矩阵,我们希望在n个二分类混淆矩阵上综合考察查准率和查全率。一种直接的做法是先在各混淆矩阵上分别计算出查准率和查全率再计算平均值,这样就得到“宏查准率”(macro-P)、”宏查全率“(macro-R),以及相应的”宏F1“

       

还可以先将各混淆矩阵的对应元素进行平均,得到TP、FP、TN、FN的平均值,再基于这些平均值计算出”微查准率“(micro-P)、"微查全率"(micro-R)和”微F1“(micro-F1):

   ,    , 

查全率、查准率与F1相关推荐

  1. [吴恩达机器学习笔记]11机器学习系统设计3-4/查全率/查准率/F1分数

    11. 机器学习系统的设计 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 11.3 偏斜类的误差度量 Error Metr ...

  2. 机器学习_评价指标Accuracy(准确率)、Precision(精准度/查准率)、Recall(召回率/查全率)、F1 Scores详解

    首先我们先上一个整体的公式: 混淆矩阵 真实情况 T或F 预测为正1,P 预测为负0,N 本来的label为1,则预测结果正的话为T,负的话为F TP(正样本预测为正) FN(正样本预测为假) – – ...

  3. 查全率、查准率与F1分数

    查全率.查准率都和正类样本密切相关.为了便于理解这几个概念,我们给出如图 1 所示的示意图. 查全率与查准率 图 1:查全率与查准率 图中实心小圆圈代表正类样本,空心小圆圈代表负类样本,大圆形区域(由 ...

  4. java计算混淆矩阵(分类指标:查准率P,查全率R,P和R的调和均值F1,正确率A)

    [0]README 本文使用 java 计算混淆矩阵,并利用 混淆矩阵值计算 分类指标:通用分类指标有: 查准率,查全率,查准率和查全率的调和均值F1值,正确率, AOC, AUC等:本文计算前4个指 ...

  5. 【机器学习笔记】 模型评估:查准率、查全率和F1

    前言 错误率与精度经常用来衡量一个模型的好坏,但这两项指标并不能满足所有的需求.以西瓜书中的例子来说,农夫拉来一车西瓜,错误率可以衡量出有多少比例的瓜被判别错误,而我们关心的是好瓜,或说好瓜中有多少比 ...

  6. 机器学习--查准率和查全率

    机器学习--查准率和查全率 问题引出 一.混淆矩阵 二.查准率和查全率 总结 问题引出 以西瓜问题为例,我们现在想要解决的问题为"挑出的西瓜有多少是好西瓜","所有好瓜中 ...

  7. 查准率与查全率一图搞懂

    听说你学查准率与查全率老不理解,什么玩意呢?你去查,都是给你扔个表扔个公式 淦,很抽象,但是你运气好刷到了我这篇,我悟了,现在教你hh 从上面这个图看吧,你需要先知道各个样本是属于哪一类,再往下看. ...

  8. 精确率、召回率、F1 值、ROC、AUC

    首先我们来思考一个问题,如何评估一个机器学习模型效果的好坏呢? 1.性能度量 机器学习首先要建模,对于模型性能的好坏(即模型的泛化能力),我们必须有个评判的标准.为了了解模型的泛化能力,我们需要用某个 ...

  9. 每天五分钟机器学习:评价算法模型常用的数值评估方式——F1值

    本文重点 上一节课程中我们学习了查准率和召回率,作为遇到偏斜类问题的评估度量值.那么究竟是查准率更好一些还是召回率更好一些呢?其实都不是,真正好的应该是使得查准率和召回率的相对平衡,那么这个相对平衡的 ...

最新文章

  1. 架构师之路 — 软件架构 — 软件质量模型
  2. qt 将不同的数据类型组成一个新类型_SQL 通用数据类型
  3. linux 大文件切割和合并 tar分割和合并
  4. JavaFX UI控件教程(二十一)之Tooltip
  5. 【渝粤教育】电大中专电大中专沟通技巧考试考核试题 (2)作业 题库
  6. C语言文件打开方式及说明
  7. 利用递归级联删除的代码
  8. contentProvider 内容提供者
  9. linux实现内存共享,Linux共享内存实现
  10. 生成clr库_如何使用CLR存储过程发送数据库邮件
  11. 如何设计一个实用的线程池?
  12. Java实现的餐厅点餐系统源码Java点餐系统Java点餐系统Java网上订餐系统Java在线订餐系统
  13. BPSK调制与解调-MATLAB基带仿真
  14. 觅风易语言[1-10]
  15. Java 打印PDF文档的3种情况
  16. struts2拦截器定义
  17. 干货 | 团队建设共同愿景的探索
  18. 【语音识别】基于动态时间规整算法(DTW)实现中文语音识别系统含Matlab源码
  19. dumprep 0 -u进程是否病毒?
  20. mysql ndb_搭建mysql NDB集群

热门文章

  1. python能做什么兼职好-学会python可以做哪些兼职?
  2. 西门子s7-200smart PLC通讯协议(TCP)
  3. 运用简单队列、栈实现简单纸牌游戏
  4. K-means聚类原理实现 优缺点 轮廓系数 调优Canopy算法
  5. 全连接网络手写数字识别(极详细,互助)
  6. echarts折线图背景颜色自定义,实心圆点,虚线网格等功能
  7. 计算机毕业设计SSM成都美食交流平台【附源码数据库】
  8. 聚类之前要做相关性检验
  9. cloudsim中时间共享调度策略和空间共享调度策略
  10. 激发程序员创意的6本书