python画PR曲线(precision-recall曲线)
使用python画precision-recall曲线的代码是:
sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_label=None, sample_weight=None)
以上代码会根据预测值和真实值,并通过改变判定阈值来计算一条precision-recall典线。
注意:以上命令只限制于二分类任务
precision(精度)为tp / (tp + fp),其中tp为真阳性数,fp为假阳性数。
recall(召回率)是tp / (tp + fn),其中tp是真阳性数,fn是假阴性数。
参数:
- y_true:array, shape = [n_samples]:真实标签。如果标签不是{-1,1}或{0,1},那么pos_label应该显式给出。
- probas_pred:array, shape = [n_samples] :正类的预测概率或决策函数
- pos_label:int or str, default=None:正类标签。当pos_label=None时,如果y_true为{- 1,1}或{0,1},则pos_label设置为1,否则将报错。
返回值:
- precision:array, shape = [n_thresholds + 1]:精度,最后一个元素是1。
- recall:array, shape = [n_thresholds + 1]:召回率,最后一个是0
- thresholds:array, shape = [n_thresholds <= len(np.unique(probas_pred))]:用于计算精度和召回率的决策函数的阈值
例子:
import numpy as np
from sklearn.metrics import precision_recall_curve
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
precision, recall, thresholds = precision_recall_curve(y_true, y_scores)
>>> precision
array([0.66666667, 0.5, 1., 1.])
>>> recall
array([1., 0.5, 0.5, 0.])
>>> thresholds
array([0.35, 0.4, 0.8])
sklearn.metrics.average_precision_score则计算预测值的平均准确率(AP: average precision)。该分数对应于presicion-recall曲线下的面积。该值在0和1之间,而且更高更好。
sklearn.metrics.average_precision_score(y_true, y_score, average='macro', pos_label=1, sample_weight=None)
参数:
y_true:array, shape = [n_samples] or [n_samples, n_classes]
二元真实标签或二元标签指示器
y_score:array, shape = [n_samples] or [n_samples, n_classes]
目标分数,可以是正类的预测概率,置信度,或者无阈值决策
average:string, [None, ‘micro’, ‘macro’ (default), ‘samples’, ‘weighted’]
pos_label:int or str (default=1)
返回值:
average_precision:float
举例:
import numpy as np
from sklearn.metrics import average_precision_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
average_precision_score(y_true, y_scores)
# 0.83...
python画PR曲线(precision-recall曲线)相关推荐
- matlab drawnow连成曲线,precision recall曲线Matlab实现
在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...
- PR(precision recall curve)曲线是什么?PR曲线如何绘制?为什么Precision和Recall是矛盾体、此消彼长?为什么提出F1指标?
PR(precision recall curve)曲线是什么?PR曲线如何绘制?为什么PR是矛盾体.此消彼长?为什么提出F1指标? sklearn.metrics.precision_recall_ ...
- 图片检索matlab程序,图像检索:precision recall曲线Matlab实现
在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...
- python 画pr曲线
roc曲线: python 画roc曲线_jacke121的专栏-CSDN博客 import _pickle as cPickle import matplotlib.pyplot as pltxxx ...
- python画pr曲线代码_利用Python中的numpy包实现PR曲线和ROC曲线的计算
闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在 python 环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy ...
- python画pr曲线_python 画函数曲线示例
python 画函数曲线示例 如下所示: import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi ...
- python画pr曲线代码_Yolov3测试图及绘制PR曲线,yoloV3,map,和,画
训练指令:./darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74 | tee train_yolov3.lo ...
- 用python画熊猫-如何用安德鲁曲线绘制熊猫数据帧?
我有以下熊猫数据帧:df = pd.read_csv("path/file/file.csv", header=0, sep=",", names=[" ...
- 【python】使用sklearn画PR曲线,计算AP值
import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import precision_recall_curv ...
最新文章
- 关于log4net日志写入mysql数据库记录
- 微软官方工具MediaCreationTool制作U盘Windows10启动盘教程
- 双网卡服务器SOCKET编程指定客户端通信网卡
- 一次解决libgcc_s.so.1 must be installed for pthread_cancel to work的经历
- dealloc 的水,很深?
- 永磁交流伺服电机的工作原理与更换新编码器后的常规零位校正方法
- Linux文件系统及属性
- day19 java数组的常用算法和排序
- vue-cli 该如何正确打包iconfont?
- python是由哪个人创造的文字_楔形文字是由什么人创造的
- HDAO one error
- autojs开发的多功能工具箱,源码量大慢慢消化,功能非常多
- ANU COMP1100 Lab1简介
- VS2019怎么没有C++的窗体应用模板_简历中常被忽视的「自我评价」,怎么写?
- GO+ 教程总览(二)
- tensorflow 1.13.1 requires wheel>=0.26, which is not installed. After October 2020 you may exper
- 如何让考核成为盈利工作?
- 鸿蒙手机录音,录音应用的隐藏功能,90%的人不知道?
- 委以重用的意思_干部选拔、提拔、重用、进一步使用,帮你理清这些词的准确意义...
- 传智播客上海校区“大神季”腾讯课堂各学科公开课直播地址!