1.查准率、查全率与P-R图

以西瓜问题为例,假定农夫拉来一车西瓜,我们用训练好的模型对西瓜进行判别,错误率可以衡量有多少比例的瓜被判别错误。但是我们关心的是“挑出的西瓜中有多少比例是好瓜”,或者“所有的好瓜中有多少被挑出来”,这时候就涉及到"查准率"与"查全率"。(选自西瓜书)

对于二分类问题,根据样本的真实类别与学习器预测类别的组合可以分为真正例(true positive,TP)、假正例(false positive,FP)、真反例(true negative,TN)和假反例(false negative,FN),其中的真假表示分类是否准确,正反表示学习器预测类别。例如假正例表示预测错误并且预测类别为正,即实际类别为负。显然有TP+FP+TN+FN=样本总数。分类结果混淆矩阵如下:

由此定义查准率与查全率:

查准率P=TP/(TP+FP)        (所有预测为正的样本中,有多少实际为正)

查全率R=TP/(TP+FN)        (所有实际为正的样本中,有多少被挑出)

查准率与查全率是一对矛盾的度量;一般来说查全率高时,查准率会偏低,反之亦然。例如:希望将好瓜尽可能地选出来,可通过选瓜的数量来实现;如果将所有的西瓜都选上,那么所有的好瓜也必然选上,但这时候查准率就会降低。

很多情形下,我们可以根据学习器的预测结果(即学习器预测为正例的概率)对样本进行排序,排在前面的是学习器认为“最可能”是正例的样本,最后的则是学习器认为最不可能是正例的样本。按照此顺序逐个把样本作为正例进行预测,则每次都可计算出当前的查全率和查准率。以查准率为纵轴、查全率为横轴作图,得到查准率-查全率曲线,简称“P-R曲线”,给出一个示意图如下:

P-R曲线

以一个例子说明P-R图的绘制过程:

假设用(x,y)的形式表示样本,其中x表示学习器输出的概率大小,y表示样本实际类别。现有四个样本分别为a(0.85,+)、b(0.55,-)、c(0.45,+)、d(0.15,-)

1.以0.80为阈值,若a>0.8则预测为正例,否则为负例。结果是a预测为+,bcd预测为-,此时查准率为1,查全率为1/2;

2.以0.50为阈值,若a>0.5则预测为正例,否则为负例。结果是ab预测为+,cd预测为-,此时查准率为1/2,查全率为1/2;

3.以0.40为阈值,若a>0.4则预测为正例,否则为负例。结果是abc预测为+,d预测为-,此时查准率为2/3,查全率为1;

4.以0.10为阈值,若a>0.1则预测为正例,否则为负例。结果是abcd预测为+,此时查准率为1/2,查全率为1;

将上述的四个点描入P-R曲线并相连就能得到P-R曲线。

2.F1值

P-R图直观地显示出学习器在样本总体上的查全率、查准率。在进行学习器性能比较时,若一个学习器的P-R曲线完全包住另一个学习器的曲线,则断言前者的性能优于后者。在上图中,学习器A的性能优于学习器C。但是当两个学习器的P-R曲线发生交叉时,例如图中的A与B,则难以判断两个学习器的好坏。若要将AB两个学习器比较高低,一种合理的判据是比较P-R曲线下的面积大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例。但是这个值不太容易估计,因此人们设计了一些综合考虑查全率与查准率的性能度量。

“平衡点(BEP)”就是一种度量方式,它是“查准率=查全率”时的取值。在上图中,基于BEP的比较,可认为学习器A优于B。但是BEP过于简单,更常用的是F1度量:

F1是基于查准率与查全率的调和平均数:

在一些实际应用中,对查准率与查全率的重视程度不同。例如在商品推荐系统中,为了尽可能不打扰用户,更希望推荐内容就是用户感兴趣的,此时查准率更重要;而在逃犯追捕中,更希望尽可能少漏掉逃犯,此时查全率更重要。根据对查准率/查全率的不同偏好,它的一般形式定义为:

Fß是基于查准率和查全率的加权调和平均数:

其中 ß>1时查全率有更大影响;ß<1时查准率有更大影响。

参考资料:《机器学习》周志华著,清华大学出版社

查准率、查全率、P-R图与F1值相关推荐

  1. 【机器学习-西瓜书】二、性能度量:召回率;P-R曲线;F1值;ROC;AUC

    关键词:准确率(查准率,precision):召回率(查全率,recall):P-R曲线,平衡点(Break-Even Point, BEP):F1值,F值:ROC(Receiver Operatin ...

  2. 模型评价指标—F1值

    最近空余时间在参加数字中国创新大赛,比赛规则是根据模型的F1值对参赛者进行排名.为了更深刻地理解这个指标,我最近对它做了一些梳理,现在把它分享给更多有需要的人图片.最近在参赛时也发现了一个问题,就是算 ...

  3. 详谈P(查准率),R(查全率),F1值

    怎么来的? 我们平时用的精度accuracy,也就是整体的正确率 acc = predict_right_num / predict_num 这个虽然常用,但不能满足所有任务的需求.比如,因为香蕉太多 ...

  4. 查准率、查全率与 F1 值

    查准率.查全率与 F1 值 混淆矩阵 ⾸先定义混淆矩阵 (Confusion matrix): 其中: • TP (True Positive):表⽰将正样本预测为正例的数⽬.即真实结果为 1,预测结 ...

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

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

  6. 查准率、查全率、F1值

    举个栗子 假设有10个数据, target: [ 1,1,1,1,1,0,0,0,0,0 ] predict:[ 1,0,1,1,1,1,1,0,0,0 ] target为数据现实的分类,predic ...

  7. pytorch实战:详解查准率(Precision)、查全率(Recall)与F1

    pytorch实战:详解查准率(Precision).查全率(Recall)与F1 1.概述 本文首先介绍了机器学习分类问题的性能指标查准率(Precision).查全率(Recall)与F1度量,阐 ...

  8. 查准率/查全率/F1指标

    查准率/查全率/F1指标 查准率(precision)(正确率):检索出来的条目有多少是正确的 查全率(recall)(查全率):所有正确条目有多少被检索出来了 用预测值与实际值之间的真假关系也可以说 ...

  9. 分类指标之p值,r值,F1值,微平均和宏平均

    假设有12个样本可被分为A,B, C 三个类别,某个分类器的结果如下: 真实 预测 A B A A A A A C B B B B B A B C C C C C C A C C 对于多分类来说,P值 ...

最新文章

  1. 利用radio实现Datagrid的单选
  2. 【译】Typeof null 的历史
  3. linux centos 编译Lua5.2.0 静态库 动态库
  4. junit与testng 分别和mockito 结合使用例子
  5. 物联网通讯协议:MQTT,NB-IOT,Zigbee,CoAP,RFID,BLUETOOTH,NFC,4G,HTTP
  6. linux 串口最高速率,Uart 16c950 linux速度高于B4000000(4Mbps)
  7. ndoe.js实战之开发微博第一讲之工具准备
  8. Java数据库篇9——备份与还原、忘记密码
  9. php 复选框组,php – 选择所有复选框
  10. 工作笔记-安装完virtualbox,新建好虚拟机却提示无法打开
  11. Asp.net主题(theme)和皮肤(skin)的使用
  12. 习题:编写一个程序,请输入两个数字,并判断两个数字的大小。
  13. c语言标识符附录,附录AC语言运算符表.PDF
  14. 禁用Dropbear中DNS反向查询连接客户端地址补丁
  15. MIDI文件格式(一)
  16. c226打印机驱动安装_打印机驱动安装失败怎么办 打印机驱动安装方法【步骤详解】...
  17. 计算机显卡故障,电脑显卡有什么故障 电脑显卡常见故障汇总
  18. 移植fastboot到2440
  19. Barefoot可编程交换机获ATT订单
  20. Android适配虚拟按键-亲测华为小米手机有效

热门文章

  1. navicat连接mysql ,并用sql语句创建表
  2. 冶金行业MES系统解决方案
  3. Java实现Excel批量导入数据库
  4. 一灯大师之点亮OK6410开发板上4个LED裸机程序---嵌入式回归第十篇
  5. 成都学院计算机专业,电子科技大学成都学院计算机应用技术(专科)专业介绍
  6. 什么是最强的搏击术!
  7. html图片特效波动,HTML5特效库 canvas 布料皱纹波动特效源码
  8. 90%人会猜错:比浓缩咖啡更浓的咖啡是什么?
  9. 杰理之启用消人声之后声音变调【篇】
  10. laravel框架中微信公众号推送消息