PR曲线 的 计算及绘制

    在linear model中,我们对各个特征线性组合,得到linear score,然后确定一个threshold,linear score < threshold 判为负类,linear score > threshold 判为正类。画PR曲线时, 我们可以想象threshold 是不断变化的。首先,threshold 特别大,这样木有一个是正类,我们计算出查全率与查准率; 然后 threshold 减小, 只有一个正类,我们计算出查全率与查准率;然后 threshold再减小,有2个正类,我们计算出查全率与查准率;threshold减小一次,多出一个正类,直到所有的类别都被判为正类。 然后以查全率为横坐标,差准率为纵坐标,画出图形即可。

例如,有

实际类别 linear score threshold  为5 threshold  为4 threshold  为3 threshold  为2 threshold  为1  
+ 5.2   + + + + +  
+ 4.45   - + + + +  
- 3.5   - - + + +  
- 2.45 - - - + +  
- 1.65 - - - - +  
    1 / 1 2 / 2 2 / 3   2 / 4 2 / 5 查全率
    1 / 5 2 / 5  3 / 5 4 / 5 5 / 5 差准率

查全率: 预测为正的里面,实际为正的比例。

查准率:预测为正,实际为正 占的比例。

 1 import matplotlib
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 Recall = np.array([0,1/5,2/5,3/5,4/5,5/5])  #从0开始更加平滑,美观,实际中,数据量很大时,趋近0。
 5 Precison = np.array([1/1,2/2,2/3,2/4,2/5,0])
 6 plt.figure()
 7 plt.ylim(0,1.1)
 8 plt.xlabel("Recall")
 9 plt.xlim(0,1.1)
10 plt.ylabel("Precison")
11 plt.plot(Recall,Precison)
12 plt.show()

时间: 2024-12-28 21:03:47

PR曲线 的 计算及绘制的相关文章

ROC曲线和PR曲线绘制【转】

TPR=TP/P :真正率:判断对的正样本占所有正样本的比例.  Precision=TP/(TP+FP) :判断对的正样本占判断出来的所有正样本的比例 FPR=FP/N :负正率:判断错的负样本占所有负样本的比例. Recall = TP/(TP+FN) = TP/P,就是TPR. ROC曲线:横轴是FPR,纵轴是TPR. 绘制出的曲线应该在y=x直线之上,曲线积分的结果就是AUC的值.AUC越大则系统分类性能越好. PR曲线:横轴是Precision,纵轴是recall. precision

【ROC曲线】关于ROC曲线、PR曲线对于不平衡样本的不敏感性分析说引发的思考

ROC曲线 在网上有很多地方都有说ROC曲线对于正负样本比例不敏感,即正负样本比例的变化不会改变ROC曲线.但是对于PR曲线就不一样了.PR曲线会随着正负样本比例的变化而变化.但是没有一个有十分具体和严谨地对此做出过分析和论证(至少我没有找到). 此处记为结论1: 结论1:PR曲线会随着正负样本比例的变化而变化:但是ROC曲线不会. 此处我就这一问题进行了详细的分析论证,并在这个过程中引发了很多思考. 首先,如何分析这个问题呢? 看下ROC曲线是由TPR和FPR组成的 下面我们这样来分析这个问题

图像检测经典的评估方式——PR曲线,ROC曲线

Keywords: PR curve, ROC curve, Machine Learning, image processing 为了帮助大家理解,比如我们需要检测一个图像中的人,分类器将图像上的每个像素划分为人和非人像素,目标是人,所以检测为人的像素用Positives表示,检测为非人的像素用Negatives来表示,检测到了需要报告,检测到不是需要拒绝,检测到了实际不是则为误报(错误地报告)或错检(非目标当成目标了),该检测到的没有检测到则为漏报或漏检 True/False = 正确地/错

P-R曲线

P-R曲线刻画查准率和查全率之间的关系,查准率指的是在所有预测为正例的数据中,真正例所占的比例,查全率是指预测为真正例的数据占所有正例数据的比例. 即:查准率P=TP/(TP + FP) 查全率=TP/(TP+FN) 查准率和查全率是一对矛盾的度量,一般来说,查准率高时,查全率往往偏低,查全率高时,查准率往往偏低,例如,若希望将好瓜尽可能多选出来,则可通过增加选瓜的数量来实现,如果希望将所有的西瓜都选上,那么所有的好瓜必然都被选上了,但这样查准率就会较低:若希望选出的瓜中好瓜比例尽可能高,则可只

查全率(Recall),查准率(Precision),灵敏性(Sensitivity),特异性(Specificity),F1,PR曲线,ROC,AUC的应用场景

之前介绍了这么多分类模型的性能评价指标(<分类模型的性能评价指标(Classification Model Performance Evaluation Metric)>),那么到底应该选择哪些指标来评估自己的模型呢?答案是应根据应用场景进行选择. 查全率(Recall):recall是相对真实的情况而言的:假设测试集里面有100个正类,如果模型预测出其中40个是正类,那模型的recall就是40%.查全率也称为召回率,等价于灵敏性(Sensitivity)和真正率(True Positive

ROC曲线 VS PR曲线

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share https://www.plob.org/article/12476.html(原文链接)  初识ROC曲线 1. RO

精确率与召回率,RoC曲线与PR曲线

在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口的概念: 1. TP, FP, TN, FN True Positives,TP:预测为正样本,实际也为正样本的特征数 False Positives,FP:预测为正样本,实际为负样本的特征数 True Negatives,TN:预测为负样本,实际也为负样本的特征数 False Negatives,

计算字符串绘制所需宽高

[str boundingRectWithSize: options: attributes: context:]; 可以用该方法在绘制之前计算需要多大空间. 参数 size 宽高限制,用于计算文本绘制时占据的矩形块. options 文本绘制时的附加选项. context context上下文.包括一些信息,例如如何调整字间距以及缩放.最终,该对象包含的信息将用于文本绘制.该参数可为 nil . 返回值 一个矩形,大小等于文本绘制完将占据的宽和高. size 参数是一个constraint ,

R语言中绘制ROC曲线和PR曲线

接收器操作特性(ROC)曲线可能是评估评分分类器的预测性能的最常用的度量. 预测正类(+1)和负类(-1)的分类器的混淆矩阵具有以下结构: 预测/参考类 +1 -1 +1 TP FP -1 FN TN 这里,TP表示真阳性的数量(模型正确预测正类),FP表示误报的数量(模型错误地预测正类),FN表示假阴性的数量(模型错误地预测阴性类),TN表示真阴性的数量(模型正确预测阴性类). ROC曲线 在ROC曲线中,相对于假阳性率(FPR,x轴)绘制真阳性率(TPR,y轴).这些数量定义如下: TPRF