python计算PR曲线sklearn.metrics.precision_recall_curve
PR曲线实则是以precision(精准率)和recall(召回率)这两个为变量而做出的曲线,其中recall为横坐标,precision为纵坐标。设定一系列阈值,计算每个阈值对应的recall和precision,即可计算出PR曲线各个点。
precision=tp / (tp + fp)
recall=tp / (tp + fn)
可以用sklearn.metrics.precision_recall_curve计算PR曲线
from sklearn.metrics import precision_recall_curve
y_true = [0, 0, 1, 1]
y_score = [0.1, 0.4, 0.35, 0.8]precision, recall, thresholds = precision_recall_curve(y_true, y_score)
print(precision)
print(recall)
print(thresholds)
"""
[0.66666667 0.5 1. 1.]
[1. 0.5 0.5 0. ]
[0.35 0.4 0.8 ]
"""
其中y_true是正确标签,y_score是概率输出值,thresholds是阈值,当y_score>=thresholds,则预测为正样本,当y_score<thresholds,则预测为负样本。注意,输出的precision和recall最后一个值分别为1和0,并且没有对应的阈值。该例子中,正样本实际数量为2个,负样本实际数量为2个。
- 当index=0,thresholds[index]=0.35,此时预测的标签为[0,1,1,1],tp=2,fp=1,fn=0,所以precision=0.67,recall=1
- 当index=1,thresholds[index]=0.4,此时预测的标签为[0,1,0,1],tp=1,fp=1,fn=1,所以precision=0.5,recall=0.5
- 当index=2,thresholds[index]=0.8,此时预测的标签为[0,0,0,1],tp=1,fp=0,fn=1,所以precision=1,recall=0.5
python计算PR曲线sklearn.metrics.precision_recall_curve相关推荐
- 机器学习:python绘制P-R曲线与ROC曲线
Python绘制P-R曲线与ROC曲线 查准率与查全率 P-R曲线的绘制 ROC曲线的绘制 查准率与查全率 P-R曲线,就是查准率(precision)与查全率(recall)的曲线,以查准率作为 ...
- python画PR曲线(precision-recall曲线)
使用python画precision-recall曲线的代码是: sklearn.metrics.precision_recall_curve(y_true, probas_pred, pos_lab ...
- 【SLAM十四讲】ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 VPR实验 编辑中
[SLAM十四讲]ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 [SLAM十四讲]ch11 回环检测 词袋法实验 得出相似分数后计算PR曲线 DBow3库安装 ch11编译 ch11 词 ...
- python画pr曲线代码_利用Python中的numpy包实现PR曲线和ROC曲线的计算
闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在 python 环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy ...
- 02_混淆矩阵、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure) +Roc曲线和PR曲线+sklearn中分类模型评估API+ 自己补充整理
此博文参考: 关于ROC绘制参考博文: https://blog.csdn.net/u011630575/article/details/80250177 Python+ROC相关的博文: https ...
- python画pr曲线_python 画函数曲线示例
python 画函数曲线示例 如下所示: import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi ...
- python 画pr曲线
roc曲线: python 画roc曲线_jacke121的专栏-CSDN博客 import _pickle as cPickle import matplotlib.pyplot as pltxxx ...
- python画pr曲线代码_Yolov3测试图及绘制PR曲线,yoloV3,map,和,画
训练指令:./darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74 | tee train_yolov3.lo ...
- python混淆矩阵函数_Python sklearn.metrics模块混淆矩阵常用函数
from sklearn import metrics 1.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None) 参数分 ...
最新文章
- [Big Data - Kafka] kafka学习笔记:知识点整理
- python argparse库_python标准库之argparse
- 程序员应知——团队精神(转)
- 商品和服务税收分类编码表_如何设置客户编码和商品编码?(附操作图)
- instance的用法 php,php面向对象之instanceof关键字的用法
- java连接zookeeper_java 学习笔记(四) java连接ZooKeeper
- Win32 控件篇(2)
- 如何控制表格的宽度_利用Word制作表格,这些实用技巧一定要知道!制作表格更加快捷...
- js的异常捕获try和catch语句
- 在线中英文符号转换工具
- phpFreeChat 2.0.0 发布,Web 聊天室
- 数据库事务日志已满的解决办法
- java speex转码_微信Speex转wav,Speex to wav
- transforms的使用方法
- 情人节的自娱自乐——情书事件
- Linux系统架构概述
- 魔数(magic number)
- 基于ShineBlink物联网开发板和机智云平台开发的“针对短期内宠物无人照顾的智能宠物屋”系统
- 为什么鲍尔默现在说要辞职?
- 变年轻特效是什么软件?快把这些软件收好
热门文章
- java在画布上画出变量_急..JAVA 在画布上画拖动滚动条可扩大缩小的长方形
- extjs2.0 ie8 下拉树_ExtJs下拉树的实现
- redis和mysql数据不一致_高并发下为什么 redis 和数据库不一致?怎么解决?
- Spring Cloud Alibaba基础教程:Sentinel Dashboard中修改规则同步到Apollo
- 论文浅尝 - ICML2020 | 拆解元学习:理解 Few-Shots 任务中的特征表示
- 论文浅尝 - WSDM20 | 基于弱监督及逐步推理的多关系知识图谱问答
- 垃圾分类智能化-垃圾分类机器人
- Barra 结构化风险模型实现(1)——沪深300指数的风格因子暴露度分析
- Android官方开发文档Training系列课程中文版:性能优化建议
- 【数据挖掘】数据预处理