机器学习笔记(一)P-R曲线与ROC曲线
P-R曲线与ROC曲线
- 一、什么是P-R曲线?
- 二、什么是ROC曲线?
- 三、P-R曲线与ROC曲线有什么用?
- 三、绘制P-R曲线代码
一、什么是P-R曲线?
- 要知道什么是P-R曲线,首先,我们要先了解P和R分别代表什么意思。
“P”是“precision”,代表准确率。
“R”是“recall”,代表召回率。
而要计算准确率和召回率,我们要先了解一下混淆矩阵。↓↓↓
实际 \ 预测 | 负 | 正 |
---|---|---|
负 | TN | FP |
正 | FN | TP |
TP(true positive):实际为正例,预测为正例;
FN(false negative):实际为正例,预测为负例;
TN(true negative):实际为负例,预测为负例;
FP(false positive):实际为负例,预测为正例。
- 了解了混淆矩阵,我们就可以通过混淆矩阵计算准确率和召回率。
准确率:precision = TP / (TP + FP)
召回率:recall = TP / (TP + FN)
- 以西瓜为例,准确率可以理解为被预测为好瓜的西瓜中确实是好瓜的概率,而召回率可以理解为所有的好瓜中被预测为好瓜的概率。
知道了准确率和召回率的计算方法,我们就可以开始着手绘制P-R曲线了。
以召回率(recall)为横轴,以准确率(precision)为竖轴,绘制而成的曲线就为P-R曲线了。
二、什么是ROC曲线?
- ROC (Receiver Operating Characteristic Curve):受试者工作特征。
类似P-R曲线,根据学习器的预测结果(概率)对样例排序,并逐个作为正例进行预测,以“假正例率(False Positive)”为横轴,“真正例率(True Positive)”为纵轴可得到ROC曲线。
三、P-R曲线与ROC曲线有什么用?
我们可以利用曲线来比较不同二分类模型之间性能的优劣。
- 主要有三种方法:
1.用曲线与坐标轴围成的面积作比较,这个面积也叫AUG值,我们一般认为AUG值大的模型性能更优。
2.取出P=R的值作为平衡点,我们一般认为平衡点大的模型性能更优。
3.计算F1= 2 * P * R / (P + R),F1值越大的模型越稳定。
三、绘制P-R曲线代码
import matplotlib.pyplot as plt
import numpy as npif __name__=='__main__':TP=np.array([5,4,4,4,4,3,3,2,2,1])FN=np.array([0,1,1,1,1,2,2,3,3,4])FP=np.array([5,2,2,0,0,0,0,0,0,0])P=TP/(TP+FP)R=TP/(TP+FN)plt.plot(R, P)plt.xlabel('Recall')plt.ylabel('Precision')plt.title('P-R')plt.show()
机器学习笔记(一)P-R曲线与ROC曲线相关推荐
- Sklearn机器学习——ROC曲线、ROC曲线的绘制和AUC面积、运用ROC曲线找到最佳阈值
目录 1 ROC曲线 2 ROC曲线的绘制 2.1 Sklearn中的ROC曲线和AUC面积 2.2 利用ROC曲线找到最佳阈值 1 ROC曲线 上篇博客介绍了ROC曲线的概率和阈值还有SVM实现概率 ...
- 机器学习:python绘制P-R曲线与ROC曲线
Python绘制P-R曲线与ROC曲线 查准率与查全率 P-R曲线的绘制 ROC曲线的绘制 查准率与查全率 P-R曲线,就是查准率(precision)与查全率(recall)的曲线,以查准率作为 ...
- 机器学习中的性能指标:精度、召回率,PR曲线,ROC曲线和AUC,及示例代码
机器学习中的性能指标:精度.召回率.PR曲线,ROC曲线和AUC 精度.召回率 基本概念 F-Score 度量曲线 PR曲线 ROC曲线 PR曲线和ROC曲线的比较 AUC 精度.召回率 基本概念 可 ...
- 机器学习模型性能评估(二):P-R曲线和ROC曲线
上文简要介绍了机器学习模型性能评估的四种方法以及应用场景,并详细介绍了错误率与精度的性能评估方法.本文承接上文,继续介绍模型性能评估方法:P-R曲线和ROC曲线. ...
- 机器学习性能度量(1):P-R曲线与ROC曲线,python sklearn实现
最近做实验要用到性能度量的东西,之前学习过现在重新学习并且实现一下. 衡量模型泛化能力的评价标准,这就是性能度量.性能度量反应了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判 ...
- 机器学习之支持向量机SVM之python实现ROC曲线绘制(二分类和多分类)
目录 一.ROC曲线 二.TP.FP.TN.FN 三. python绘制ROC曲线(二分类) 1.思路 2.关键代码 3.完整代码 四. python绘制ROC曲线(多分类) 五.参考文献 一.ROC ...
- 百面机器学习 #2 模型评估:0102 精确率与召回率,假阳性与真阳性率,PR曲线和ROC曲线
文章目录 1. P-R(Precision-Recall)曲线 F1 score 2. 平方根误差的局限性 3. ROC曲线 ROC曲线绘制 4. AUC predict Positive predi ...
- 一文详尽混淆矩阵、准确率、精确率、召回率、F1值、P-R 曲线、ROC 曲线、AUC 值、Micro-F1 和 Macro-F1
文章目录 二分类的评价指标 一.混淆矩阵与 TP.TN.FP.FN 二.准确率.精确率.召回率.F1值 三.P-R 曲线 四.ROC 曲线.AUC 值 五.P-R曲线和ROC曲线有什么区别,如何选择? ...
- P-R曲线与ROC曲线使用总结
P-R曲线与ROC曲线总结 作者:jliang https://blog.csdn.net/jliang3 1.P-R曲线 1)实际预测时二分类的四种情况 真阳性/真正类(True Positive, ...
最新文章
- 无边框窗体和用户控件以及权限
- mysql创建行_如何在MySQL中创建行生成器?
- 为什么0的补码形式只有一种?
- 关于lombok插件的使用,强大的简化代码工具
- ABP理论学习之仓储
- 在linux学习中遇到的问题
- TFS在项目中Devops落地进程(上)
- Excel中插入VBA宏处理
- PHP多种序列化/反序列化的方法 (转载)
- 用apache的httpclient发请求和接受数据
- 《剑指Offer》解题目录(更新完毕)
- linux 高性能日志,linux日志系统
- V 语言强势登顶 GitHub TOP1,欲取 Go 而代之?
- 程序哲学how to make love,简称 html
- matlab的combuilder系列-matlab下做com组件 zzfrom SMTH bbs
- 问答列表html,HTML这个样子的图文列表怎么写
- @RequiresRoles使用
- ST-Link资料02_ST-Link固件介绍,及固件命名规则
- 【LTE】Qualcomm LTE Packets log 分析(一)LTE Access Stratum Log Analysis 1_PSS 2_RACH
- 数据分析师需要学习什么?
热门文章
- 如何建设一个属于自己的网站
- Android Studio查看数据库插件
- 40件 圆圈logo - 企业logo设计 - logo公司
- java redis队列_redis队列实现高并发怎么用?Java如何使用redis队列解决高并发?
- 经典仿句100例_精美句子仿写100例
- JDBC操作步骤和JDBC事务
- 013:魔兽世界之一:备战
- [MySQL优化案例]系列 — slave延迟很大优化方法
- 计算机绘出一条虚线算法步骤,国外利用计算机算法将有色线编织成经典绘画
- Cisco Packet Tracer的交换机的STP技术 (生成树)