目录

  • 前言
  • 一、查准率P、查全率R与P-R曲线
  • 二、Python实现
  • 总结

前言

我们经常会关心“检索出的信息中有多少比例是用户感兴趣的”“用户感兴趣的信息中有多少被检索出来了”。“查准率”(precision)“查全率”(recall)是更为适用于此类需求的性能度量。


一、查准率P、查全率R与P-R曲线

查准率P、查全率R:

在了解查准率P(亦称“准确率”)、查全率R(亦称“召回率”)的定义之前,我们需要先了解TP、FP、TN、FN。

TP:真正例(true positive)

FP:假正例(false positive)

TN:真反例(true negative)

FN:假反例(false negative)

下表可以直观地看出各自的含义:

分类结果混淆矩阵
真实情况 预测结果
正例 反例
正例 TP(真正例) FN(假反例)
反例 FP(假正例) TN(真反例)

由此定义查准率P查全率R

                

P-R曲线:

以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称“P-R曲线”,其代表的是查准率P与查全率R的关系。

下图为西瓜书中给出的一个示意图:

二、Python实现

代码如下(示例):

#选择测试数据
import pandas as pddf = pd.read_csv('file_name.csv')
X = df[df.columns[:-1]]
y = df[df.columns[-1]]#训练——测试数据集划分
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X[y < 2], y[y < 2],test_size=.5,random_state=1)#构造模型
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)
#model.predict_proba将返回属于各个类别的概率,每行概率和为1
y_prob = model.predict_proba(X_test)[:,1]#计算P值和R值:precision_recall_curve函数返回值分别为查准率precision,查全率recall,以及对应的阈值thresholdsprecision, recall, thresholds = sklearn.metrics.precision_recall_curve(y_test, y_prob, pos_label=None, sample_weight=None)#然后根据precision, recall绘制PR曲线plt.plot()

此代码参考:Asher117的【Python】绘制PR曲线https://blog.csdn.net/Asher117/article/details/112531255


总结

P-R图直观地显示出学习器在样本总体上的查全率、查准率。本文章仅简单概述了Precision、Recall以及P-R曲线的概念以及如何用Python绘制P-R曲线,作者目前也是机器学习小白,希望可以同大家一起进步!

机器学习-Precision(查准率)、Recall(查全率)、P-R曲线相关推荐

  1. 准确率,查准率,查全率,ROC曲线,AUC面积

    正确翻译: T :正确 P:正样本    TP:表示正确预测,预测为正样本 True Positive(真正,TP):将正类预测为正类数  True Negative(真负,TN):将负类预测为负类数 ...

  2. 模型评估中的查准率、查全率、ROC曲线

    P-R曲线 对于二分类问题,可以将训练集的真实类别与机器学习预测的类别划分为真正例(true positive) .假正例(false positive) .真反倒(true negative) .假 ...

  3. 机器学习的查准率、查全率和F1-score

    目录 一.简介 (一)查准率与查全率 (二)F-Score 二.实例 (一)问题 (二)解决 三.参考资料 一.简介 (一)查准率与查全率 定义: 对于二分类问题,分类结果混淆矩阵与查准/查全率定义如 ...

  4. 机器学习:查准率和查全率

    查准率(准确率 Precision)和查全率(召回率 Recall) 正确肯定(True Positive,TP):预测为真,实际为真 正确否定(True Negative,TN):预测为假,实际为假 ...

  5. 机器学习:查准率(Precision)和查全率(Recall)

    类偏斜(skewed classes)情况表现为我们的训练集中有非常多的同一种类的实例,只有很少或没有其他类的实例.  例如我们希望用算法来预测癌症是否是恶性的,在我们的训练集中,只有 0.5%的实例 ...

  6. 查准率-查全率precision recall(PR)曲线Matlab实现

    在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...

  7. 机器学习算法评价指标 recall(召回率)、precision(精度)、F-measure(F值)、ROC曲线、RP曲线

    机器学习中算法评价指标总结 recall(召回率).precision(精度).F-measure.ROC曲线.RP曲线 在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前 ...

  8. pytorch实战:详解查准率(Precision)、查全率(Recall)与F1

    pytorch实战:详解查准率(Precision).查全率(Recall)与F1 1.概述 本文首先介绍了机器学习分类问题的性能指标查准率(Precision).查全率(Recall)与F1度量,阐 ...

  9. 机器学习11. ROC曲线、AUC值、Accuracy、Precision、Recall 含义

    AUC/ROC,Accuracy,Precision,Recall 含义.查准率,查全率,样本均衡问题 部分图片转自这里 行的True和False表示预测为正负 列的Pos和Neg表示真实的正负 表哥 ...

最新文章

  1. 将不确定变为确定~Flag特性的枚举是否可以得到Description信息
  2. Nginx服务器的安装配置
  3. WinDbg !locks 不可用的问题
  4. 转:国内优秀npm镜像推荐及使用
  5. 从浏览器输入URL到最终看到页面, 这其中经历了哪些过程 ?
  6. python 闭包_一篇文章读懂Python的闭包与装饰器!
  7. Python学习系列day5-python基础
  8. cocos2d-x 2x 菜鸟编塔防 02 添加敌人
  9. (转)剖析Delphi中的构造和析构
  10. webview键盘自适应_黑爵毛茸茸机械键盘:感受来自治愈系的暖萌
  11. 19个强大、有趣、又好玩的 Linux 命令!
  12. 【Java】jstack报错Unable to open socket file: target process not responding or HotSpot VM not loaded
  13. IOS学习之UITableView滚动到指定位置
  14. 计算机cad制图软件有哪些,cad制图软件有哪些?
  15. Sqlserver2008数据库可疑文件
  16. 题529. 扫雷游戏
  17. 学习:Ubuntu14.04编译caffe问题记录
  18. 在同一窗口能显示多个幻灯片_如何让两个PPT文件在电脑屏幕中同时显示
  19. python中的引号用法总结_Python中的引号用法总结
  20. 普歌-云言团队-SSM系列与Spring框架入门

热门文章

  1. 功率MOSFET的正向导通等效电路
  2. 《C语言程序设计》(谭浩强第五版) 第2章 算法——程序的灵魂
  3. 目录——Java趣味编程100例
  4. C语言(二)BMP图像 文本数据保存为图像
  5. VUE项目引入微信JSSDK 实现微信自定义分享
  6. 2021 csp-s
  7. pga是啥oracle,Oracle数据库内存体系 - PGA
  8. Egret 2d 实现黑暗下光照效果
  9. 丢手帕程序C语言,约瑟夫问题,即丢手帕游戏
  10. promise是什么