说明:

        “P”为查准率,也称准确率;“R”为查全率,也称召回率。

PR曲线是由模型的查准率和查全率为坐标轴形成的曲线,查准率P为纵坐标 查全率R为横坐标。

正例 反例
正例 TP(真正例) FN(假反例)
反例 FP(假正例) TN(真反例)

上图为测试的混淆矩阵,表示一个数据集上的所有预测结果,

其中查准率P = TP /(TP+FP);查全率R = TP /(TP+FN)

代码实现:

包引入:

​
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd​

生成测试数据:

​
# 产生两组 0到1之间的随机数# 演示数据1
rand_1 = list(np.random.random(20))# 生成标签和预测概率数据
test_1 = []
for i in range(20):label = "P" if i < 10 else "N"test_1.append({"value": rand_1[i], "label": label})# 对概率进行排序
rand_1.sort(reverse=True)# 演示数据2
rand_2 = list(np.random.random(20))# 生成标签和预测概率数据
test_2 = []
for i in range(20):label = "P" if i < 10 else "N"test_2.append({"value": rand_2[i], "label": label})# 对概率进行排序
rand_2.sort(reverse=True)​

计算PR值:

​
# values 模型预测的所有样本为正的概率列表
# data 模型预测的数据与样本自身正确标签def get_pr(values=[], datas=[]):pr = []for value in values:counts = {"TP": 0, "FP": 0, "TN": 0, "FN": 0}for data in datas:predict_label = "P" if data["value"] >= value else "N"if predict_label == "P" and data["label"] == "P":counts["TP"] += 1elif predict_label == "P" and data["label"] == "N":counts["FP"] += 1elif predict_label == "N" and data["label"] == "N":counts["TN"] += 1elif predict_label == "N" and data["label"] == "P":counts["FN"] += 1# 计算查准率p = round(counts["TP"]/(counts["TP"]+counts["FP"]), 2)# 计算查全率r = round(counts["TP"]/(counts["TP"]+counts["FN"]), 2)pr.append({"p": p, "r": r})return pr​

组合数据,用于绘制PR图:

pr_1 = get_pr(rand_1, test_1)
pr_2 = get_pr(rand_2, test_2)# 生成展示数据
data_show = []
for pr in pr_1:data_show.append({'p': pr['p'], 'r': pr['r'], 'model': 'model_1'})for pr in pr_2:data_show.append({'p': pr['p'], 'r': pr['r'], 'model': 'model_2'})for pr in range(20):value = (1.0/20)*prdata_show.append({'p': value, 'r': value, 'model': 'BEP'})
data_show = pd.DataFrame(data_show)#绘制图表
sns.relplot(x="r", y="p", ci=None, hue='model', kind="line", data=data_show)

机器学习:学习绘制PR曲线相关推荐

  1. 机器学习入门案例:鸢尾花数据集分类 绘制PR曲线

    案例使用鸢尾花数据集进行分类预测,并绘制评价分类性能的PR曲线图 认识分类任务和数据集 Iris(鸢尾花)数据集 案例演示中使用的是有监督的机器学习算法:SVM 支持向量机 建立模型的流程如下: 训练 ...

  2. 机器学习:python绘制P-R曲线与ROC曲线

    Python绘制P-R曲线与ROC曲线 查准率与查全率 P-R曲线的绘制 ROC曲线的绘制 查准率与查全率   P-R曲线,就是查准率(precision)与查全率(recall)的曲线,以查准率作为 ...

  3. 机器学习性能评估——PR曲线与ROC曲线

    1.PR曲线 P-R曲线是精确率precision与召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标轴.在介绍精确率和召回率之前,先来看下如下的混淆矩阵: 真实情况\ ...

  4. yolo模型(四)绘制PR曲线所用到的reval_voc_py.py代码

    在绘制PR曲线时要自己生成一个pkl文件,需要reval_voc_py.py代码来生.现贴出基于python2和python3的代码,按照自己的python版本直接复制即可.拿走不谢~ reval_v ...

  5. python画pr曲线代码_Yolov3测试图及绘制PR曲线,yoloV3,map,和,画

    训练指令:./darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74 | tee train_yolov3.lo ...

  6. 机器学习()PR曲线绘制

    目录 P-R 曲线绘制 Ground Truth P-R 曲线绘制 Precision-查准率-预测出来的正例中正确的比例---找得对-(查准率高-宁缺毋滥 Recall-查全率-衡量正例被预测出来的 ...

  7. 机器学习:何为PR曲线与ROC曲线

    PR曲线实则是以precision(精准率)和recall(召回率)这两个为变量而做出的曲线,其中recall为横坐标,precision为纵坐标. 想要明白何为precision(精准率)和reca ...

  8. 机器学习:关于P-R曲线和Roc曲线

    一:关于P-R曲线:     1:1:何为P-R曲线: P为precision即精准率(查准率),R为recall即召回率,所以P-R曲线是反映了准确率与召回率之间的关系.一般横坐标为recall,纵 ...

  9. 机器学习学习笔记(二)---PR曲线

    学习笔记 PR曲线 一.P和R代表什么 TP FP TN FN 基本概念 P与R 的定义 评估PR曲线 二.绘制PR曲线 代码 参考文献 一.P和R代表什么 在信息检索中,我们经常会关心"检 ...

最新文章

  1. 领英Linkedin信息搜集工具InSpy
  2. android 按钮动画效果_【css特效】按钮动画 - 按压效果
  3. win10无法连接wifi_手机连接WIFI但是无法上网?3个办法帮您解决!
  4. centos7公司内网环境搭建集群性能测试环境(ip+域名部署)
  5. android 从文件制定位置读取数据
  6. vagrant打造自己的开发环境~~我也来一发
  7. oracle学习笔记之 审计
  8. linux文件夹做链接,linux为什么不能给目录做硬链接
  9. 本机与服务器、镜像机之间文件互传
  10. java 封闭类型_java – 如何获取封闭类?
  11. 北斗卫星导航定位系统应用及发展前景
  12. tomcat配置优化,apr的配置详解
  13. JDK 1.8 中的 Timer 类
  14. bootstrap表格标题Caption位于表格下方的原因
  15. 网络设置、ssh服务
  16. COSMOS认证辅导,真正的有机护肤品首先要是天然植物成分,不受转基因和人工化学添加的影响
  17. 店铺定位目的,品牌传播,产品、人群、价格定位
  18. 使用vlc串流http视频链接
  19. 马斯洛“需求层次理论” 在《植物大战僵尸》中的运用
  20. 工业智能网关BL110应用之九十六: 实现西门子S7-1500 PLC接入华为云平台

热门文章

  1. 用数据解读《上海堡垒》| 鹿晗是不是糊了?
  2. matlab中的pred,Matlab深度学习基础笔记-2
  3. php织梦导航被选中,PHP网站分类目录程序 网址导航程序 织梦二次开发
  4. ListBox控件的使用
  5. 刀片服务器与机架式服务器的选择
  6. Android xmpp开发 asmack获取离线在线添加好友消息 及 好友上线下线通知
  7. 卡特兰数(高精度乘法压位)
  8. 订单数额总数实现_纺织业行情久违火爆?大量印度订单转到中国!
  9. P57 3-3数数字
  10. html img和背景图处理图片不拉伸_解决background图片拉伸问题