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_auci = 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)】

相关推荐
阿里嘎多学长3 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
happylifetree4 小时前
Python67:核心语法-函数进阶-参数类型(函数作为参数)
python
布吉岛的石头4 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
小羊没烦恼!4 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc5 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI5 小时前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
昂好的day6 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
努力实干7 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
NetX行者8 小时前
四语言 Hello World 背后:编译模型与运行时对比
开发语言
Pin_Qing9 小时前
账单没超,请求先被拒了
大数据·开发语言·人工智能