P-R曲线深入理解

 

P-R曲线深入理解

 版权声明: https://blog.csdn.net/b876144622/article/details/80009867
P-R曲线就是精确率precision vs 召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标轴。首先解释一下精确率和召回率。
 
解释精确率和召回率之前,先来看下混淆矩阵,
 
  负      正
 负 TN  FP 
 正  FN  TP

 

 

把正例正确分类为正例,表示为TP(true positive),把正例错误分类为负例,表示为FN(false negative),

把负例正确分类为负例,表示为TN(true negative), 把负例错误分类为正例,表示为FP(false positive)

 

精确率和召回率可以从混淆矩阵中计算而来,precision = TP/(TP + FP), recall = TP/(TP +FN)

那么P-R曲线是怎么来的呢?

 

算法对样本进行分类时,都会有置信度,即表示该样本是正样本的概率,比如99%的概率认为样本A是正例,1%的概率认为样本B是正例。通过选择合适的阈值,比如50%,对样本进行划分,概率大于50%的就认为是正例,小于50%的就是负例。

 

通过置信度就可以对所有样本进行排序,再逐个样本的选择阈值,在该样本之前的都属于正例,该样本之后的都属于负例。每一个样本作为划分阈值时,都可以计算对应的precision和recall,那么就可以以此绘制曲线。那很多书上、博客上给出的P-R曲线,都长这样

当然,这种曲线是有可能的。但是仔细琢磨就会发现一些规律和一些问题。

 

根据逐个样本作为阈值划分点的方法,可以推敲出,recall值是递增的(但并非严格递增),随着划分点左移,正例被判别为正例的越来越多,不会减少。而精确率precision并非递减,二是有可能振荡的,虽然正例被判为正例的变多,但负例被判为正例的也变多了,因此precision会振荡,但整体趋势是下降。

 

另外P-R曲线肯定会经过(0,0)点,比如讲所有的样本全部判为负例,则TP=0,那么P=R=0,因此会经过(0,0)点,但随着阈值点左移,precision初始很接近1,recall很接近0,因此有可能从(0,0)上升的线和坐标重合,不易区分。如果最前面几个点都是负例,那么曲线会从(0,0)点开始逐渐上升。

 

曲线最终不会到(1,0)点。很多P-R曲线的终点看着都是(1,0)点,这可能是因为负例远远多于正例。

最后一个点表示所有的样本都被判为正例,因此FN=0,所以recall = TP/(TP + FN) = 1, 而FP = 所有的负例样本数,因此precision = TP/(TP+FP) = 正例的占所有样本的比例,故除非负例数很多,否则precision不会为0.

 

因此,较合理的P-R曲线应该是(曲线一开始被从(0,0)拉升到(0,1),并且前面的都预测对了,全是正例,因此precision一直是1,)

另外,如果有个划分点可以把正负样本完全区分开,那么P-R曲线就是整个1*1的面积。

 

总之,P-R曲线应该是从(0,0)开始画的一条曲线,切割1*1的正方形,得到一块区域。

  • zyl929915590
    orino: 经过(0,0)点存在疑问,一开始TP为0,好理解,但此时TP+FP也为0,根据P的定义,此时分子分母都趋于0,这里应该是(0,1)点?(1个月前#9楼)
    5
  • weixin_45141837
    weixin_45141837: 个人也感觉博主写的始终经过(0,0)点有问题,当排序的第一个样本点是负例,PR曲线理当经过(0,0)点没有问题,而后呈现一个上升趋势,若前几个样本点都是负例,上升趋势将会在前几个描点上持续,而后下降;而当排序的第一个样本点是正例时,PR曲线的第一个描点应当是(1/(TP+FN),1)这个点,此时曲线应该不会和y轴有交点。(1个月前#8楼)
     
  • Asunany
    Asunany: 之后根据这些不同的(recall,precision)点,逐点连接,得到PR图?(2个月前#7楼)
     
  • Asunany
    Asunany: 您好,请问“根据逐个样本作为阈值划分点的方法”?是什么意思呢? 我可以理解为,选定不同的阈值,就是选定了不同的confidence score么,划分不同的置信度,然后得到不同的(recall,precision)么? 谢谢(2个月前#6楼)
     
  • dingkm666
    kmding: 请问博主,PR曲线的起点会从原点出来吗(2个月前#5楼)
    1
  • u013614079
    ygzyrz: 楼主可以补充一下什么样的PR曲线是好的。期待(5个月前#4楼)
     
  • liwei1205
    Lee_Wei4939: 感谢博主,找了这么久也只有你把pr原理讲清楚了,你是看的源码吗(9个月前#3楼)
     
  • h_li24
    h_li24: 写得挺好的,西瓜书里面那个P-R曲线连定义都讲得不清楚(9个月前#2楼)
     

浅谈ROC与PR曲线-分类器阈值确定

阅读数 4535

ROC曲线受试者工作特征PR曲线查准率-查全率。博文来自: zzyy0929的博客

用于yolo计算mAP和PR曲线使用

10-19
用于yolo计算mAP和PR曲线使用,里面有4个python文件,分为python2和python3版本
下载

显著性检测PR曲线

06-08
显著性检测中画PR曲线的代码,需要自己生成的显著图和Ground Truth。
下载

深度学习,提高分类精度 - keep forward, go, go, go - CSDN博客

6-13

博文 来自: keep forward, go, go, go 深度学习性能提升的诀窍 10-09 阅读...P-R曲线深入理解 weixin_45141837:个人也感觉博主写的始终经过(0,0)点有问...

【性能评估】P-R曲线理解 - qq_30159015的博客 - CSDN博客

11-15

P-R曲线深入理解 - keep forward, go, go, go 04-19 3248 P-R曲线就是精确率precision vs 召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标...

线性模型(二)之多项式拟合 - keep forward, go, go, go - CSDN博客

6-6

2018年05月23日 22:53:50 keep_forward 阅读数:1029 版权声明: https://blog.csdn.net/b876144622/article/details/80427750 1. 多项式拟合问题   ...

机器学习中的PR曲线和ROC曲线 - This is bill的专属博客 - CSDN博客

11-23

P-R曲线深入理解 - keep forward, go, go, go 04-19 3521 P-R曲线就是精确率precision vs 召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标轴...

tensorflow保持每次训练结果一致 - keep forward, go, go, go - ...

5-21

博文 来自: 阿华Go,从现在开始的博客 tensorflow 恢复指定层与不同层指定不同...keep_forward 关注 原创 97 粉丝 24 喜欢 34 评论 34 等级: 访问...

用c++API加载python训练好的tensorflow模型 - keep forward, go, ...

11-23

用C++ API训练tensorflow模型 - keep forward, go, go, go 04-16 323 在前面的博客中,已经从源码安装了tensorflow,能够成功编译c++的代码,那么就可以编写c++...

Python3绘制P-R曲线(二分类) - 荣耀之路 - CSDN博客

7-8

深度学习模型在各个框架之间转换(待续) - keep forward, go, go, ...

11-10

keep_forward 非学,无以致疑;非问,无以广识 去开通我的Chat快问 添加...P-R曲线深入理解 liwei1205:感谢博主,找了这么久也只有你把pr原理讲清楚了,...

ROC曲线和PR曲线,AP,mAP

阅读数 52

ROC曲线博文来自: hotboyboy的博客

机器学习——pr图的画法

阅读数 2890

博文来自: YANGYU1079075086的博客

急求!怎么用matlab绘制pr曲线!

04-25

想知道怎么用matlab绘制显著性检测里面的PR曲线monkey:0.gif论坛

PR曲线与F值

阅读数 1013

PR曲线与ROC曲线的区别博文来自: yuhangzhai的博客

码农必看:各大平台的推荐系统原来是靠它完成的,太牛了

第四范式先荐帮助客户从0到1搭建推荐系统,显著提升用户活跃,留存,观看时长等重要业务指标

 

精确率(准确率、查准率、precision)、召回率(查全率、recall)、RoC曲线、AUC面积、PR曲线

阅读数 1万+

1.TP,FP,TN,FNTruePositives,TP:预测为正样本,实际也为正样本的特征数FalsePositives,FP:预测为正样本,实际为负样本的特征数TrueNegatives,TN:...博文来自: sun_shengyun的专栏

 
关注
原创
97
粉丝
25
喜欢
45
评论
42
等级:
 
访问:
 
17万+
积分:
 
2720
排名:
 
2万+
勋章:

最新评论

  • 10

  •  

posted on 2019-07-15 10:50  自然之子101  阅读(2285)  评论(0)    收藏  举报

导航