Python绘制ROC曲线

1 问题

如何利用python设计程序,绘制ROC曲线。

2 方法

绘制ROC曲线主要基于python 的sklearn库中的两个函数,roc_curv和auc两个函数。roc_curv 用于计算出fpr(假阳性率)和tpr(真阳性率)auc用于计算曲线下面积,输入为fpr、和tpr

代码清单 1

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| # 导包 import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import roc_curve, auc # 计算 fpr, tpr, thread = roc_curve(y_test, y_score) roc_auc[i] = auc(fpr, tpr) # 绘图 plt.figure() lw = 2 plt.plot(fpr, tpr, color='darkorange', lw=lw, label='ROC curve (area = %0.2f)' % roc_auc) plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--') plt.xlim([0.0, 1.0]) plt.ylim([0.0, 1.05]) plt.xlabel('False Positive Rate') plt.ylabel('True Positive Rate') plt.title('Receiver operating characteristic example') plt.legend(loc="lower right") plt.savefig('roc.png',) plt.show() |

3 结语

本文介绍了用python实现绘制ROC曲线,并且进行了拓展,使该程序能应用于更多相似的问题。ROC曲线可以用来评估分类器的输出质量。

ROC曲线Y轴为真阳性率,X轴为假阳性率。这意味着曲线的左上角是"理想"点------假阳性率为0,真阳性率为1。

上述的理想情况实际中很难存在,但它确实表示面积下曲线(AUC)越大通常分类效率越好。

ROC曲线的"陡度"也很重要,坡度越大,则越有降低假阳性率,升高真阳性率的趋势。

ROC曲线通常用于二元分类中研究分类器的输出(也可在多分类中使用,需要对标签进行二值化【比如ABC三类,进行分类时将标签进行二值化处理[A(1)、BC(0)】、【B(1)、AC(0)】

相关推荐
青瓷程序设计11 小时前
昆虫识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
咨询QQ2769988511 小时前
V-REP小车项目+匹配文档,基于V-REP与MATLAB联合仿真,小车能够完成循迹、避障、走...
开发语言
咩图11 小时前
C#创建AI项目
开发语言·人工智能·c#
豆沙沙包?11 小时前
2025年--Lc293-784. 字母大小写全排列(回溯)--java版
java·开发语言
秋邱11 小时前
智启未来:AGI 教育融合 × 跨平台联盟 × 个性化空间,重构教育 AI 新范式开篇:一场 “教育 ×AI” 的范式革命
人工智能·python·重构·推荐算法·agi
爱吃泡芙的小白白11 小时前
vscode、anaconda、git、python配置安装(自用)
ide·git·vscode·python·anaconda·学习记录
谷隐凡二11 小时前
Kubernetes主从架构简单解析:基于Python的模拟实现
python·架构·kubernetes
老歌老听老掉牙11 小时前
Matplotlib Pyplot 数据可视化完全指南
python·信息可视化·matplotlib
Sunhen_Qiletian11 小时前
《Python开发之语言基础》第六集:操作文件
前端·数据库·python
珑墨11 小时前
【唯一随机数】如何用JavaScript的Set生成唯一的随机数?
开发语言·前端·javascript·ecmascript