机器学习-Precision(查准率)、Recall(查全率)、P-R曲线
目录
- 前言
- 一、查准率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曲线相关推荐
- 准确率,查准率,查全率,ROC曲线,AUC面积
正确翻译: T :正确 P:正样本 TP:表示正确预测,预测为正样本 True Positive(真正,TP):将正类预测为正类数 True Negative(真负,TN):将负类预测为负类数 ...
- 模型评估中的查准率、查全率、ROC曲线
P-R曲线 对于二分类问题,可以将训练集的真实类别与机器学习预测的类别划分为真正例(true positive) .假正例(false positive) .真反倒(true negative) .假 ...
- 机器学习的查准率、查全率和F1-score
目录 一.简介 (一)查准率与查全率 (二)F-Score 二.实例 (一)问题 (二)解决 三.参考资料 一.简介 (一)查准率与查全率 定义: 对于二分类问题,分类结果混淆矩阵与查准/查全率定义如 ...
- 机器学习:查准率和查全率
查准率(准确率 Precision)和查全率(召回率 Recall) 正确肯定(True Positive,TP):预测为真,实际为真 正确否定(True Negative,TN):预测为假,实际为假 ...
- 机器学习:查准率(Precision)和查全率(Recall)
类偏斜(skewed classes)情况表现为我们的训练集中有非常多的同一种类的实例,只有很少或没有其他类的实例. 例如我们希望用算法来预测癌症是否是恶性的,在我们的训练集中,只有 0.5%的实例 ...
- 查准率-查全率precision recall(PR)曲线Matlab实现
在用哈希进行检索时,常会用到precision recall曲线对其性能进行定量评价.precision recall的定义在信息检索评价指标中已做了详细说明,这里再记录一下precision rec ...
- 机器学习算法评价指标 recall(召回率)、precision(精度)、F-measure(F值)、ROC曲线、RP曲线
机器学习中算法评价指标总结 recall(召回率).precision(精度).F-measure.ROC曲线.RP曲线 在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前 ...
- pytorch实战:详解查准率(Precision)、查全率(Recall)与F1
pytorch实战:详解查准率(Precision).查全率(Recall)与F1 1.概述 本文首先介绍了机器学习分类问题的性能指标查准率(Precision).查全率(Recall)与F1度量,阐 ...
- 机器学习11. ROC曲线、AUC值、Accuracy、Precision、Recall 含义
AUC/ROC,Accuracy,Precision,Recall 含义.查准率,查全率,样本均衡问题 部分图片转自这里 行的True和False表示预测为正负 列的Pos和Neg表示真实的正负 表哥 ...
最新文章
- 将不确定变为确定~Flag特性的枚举是否可以得到Description信息
- Nginx服务器的安装配置
- WinDbg !locks 不可用的问题
- 转:国内优秀npm镜像推荐及使用
- 从浏览器输入URL到最终看到页面, 这其中经历了哪些过程 ?
- python 闭包_一篇文章读懂Python的闭包与装饰器!
- Python学习系列day5-python基础
- cocos2d-x 2x 菜鸟编塔防 02 添加敌人
- (转)剖析Delphi中的构造和析构
- webview键盘自适应_黑爵毛茸茸机械键盘:感受来自治愈系的暖萌
- 19个强大、有趣、又好玩的 Linux 命令!
- 【Java】jstack报错Unable to open socket file: target process not responding or HotSpot VM not loaded
- IOS学习之UITableView滚动到指定位置
- 计算机cad制图软件有哪些,cad制图软件有哪些?
- Sqlserver2008数据库可疑文件
- 题529. 扫雷游戏
- 学习:Ubuntu14.04编译caffe问题记录
- 在同一窗口能显示多个幻灯片_如何让两个PPT文件在电脑屏幕中同时显示
- python中的引号用法总结_Python中的引号用法总结
- 普歌-云言团队-SSM系列与Spring框架入门