利用python画出AUC曲线的实例


Posted in Python onFebruary 28, 2020

以load_breast_cancer数据集为例,模型细节不重要,重点是画AUC的代码。

直接上代码:

from sklearn.datasets import load_breast_cancer
from sklearn import metrics
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
import pylab as plt
import warnings;warnings.filterwarnings('ignore')
dataset = load_breast_cancer()
data = dataset.data
target = dataset.target
X_train,X_test,y_train,y_test = train_test_split(data,target,test_size=0.2)
rf = RandomForestClassifier(n_estimators=5)
rf.fit(X_train,y_train)
pred = rf.predict_proba(X_test)[:,1]
#############画图部分
fpr, tpr, threshold = metrics.roc_curve(y_test, pred)
roc_auc = metrics.auc(fpr, tpr)
plt.figure(figsize=(6,6))
plt.title('Validation ROC')
plt.plot(fpr, tpr, 'b', label = 'Val AUC = %0.3f' % roc_auc)
plt.legend(loc = 'lower right')
plt.plot([0, 1], [0, 1],'r--')
plt.xlim([0, 1])
plt.ylim([0, 1])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.show()

利用python画出AUC曲线的实例

补充拓展:Python机器学习中的roc_auc曲线绘制

废话不多说,直接上代码

from sklearn.metrics import roc_curve,auc

from sklearn.ensemble import RandomForestClassifier

import matplotlib.pyplot as plt

from sklearn.model_selection import train_test_split

x_train,y_train,x_test,y_test=train_test_split(x,y,test_size=0.2)

rf=RandomForestClassifier()

rf.fit(x_train,y_train)

rf.score(x_train,y_train)

print('trainscore:'+str(rfbest.score(x_train,y_train)))
print('testscore:'+str(rfbest.score(x_test,y_test)))

y_score=rfbest.fit(x_train,y_train).predict_proba(x_test) #descision_function()不可用

print(type(y_score))

fpr,tpr,threshold=roc_curve(y_test,y_score[:, 1])
roc_auc=auc(fpr,tpr)
plt.figure(figsize=(10,10))
plt.plot(fpr, tpr, color='darkorange',
lw=2, label='ROC curve (area = %0.2f)' % roc_auc) ###假正率为横坐标,真正率为纵坐标做曲线
plt.plot([0, 1], [0, 1], color='navy', lw=2, 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.show()

以上这篇利用python画出AUC曲线的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
Python 自动补全(vim)
Nov 30 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
深入解读Python解析XML的几种方式
Feb 16 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
Flask框架Flask-Login用法分析
Jul 23 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
pandas DataFrame创建方法的方式
Aug 02 Python
基于Tensorflow使用CPU而不用GPU问题的解决
Feb 07 Python
python实现信号时域统计特征提取代码
Feb 26 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 23 Python
基于Python实现对比Exce的工具
Apr 07 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 #Python
AUC计算方法与Python实现代码
Feb 28 #Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 #Python
Python计算IV值的示例讲解
Feb 28 #Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 #Python
Python自动采集微信联系人的实现示例
Feb 28 #Python
python代码实现TSNE降维数据可视化教程
Feb 28 #Python
You might like
php调用mysql存储过程
2007/02/14 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
vue中activated的用法
2021/01/03 Vue.js
[03:19]2016国际邀请赛中国区预选赛第四日TOP10镜头集锦
2016/07/01 DOTA
基于python编写的微博应用
2014/10/17 Python
python中PIL安装简单教程
2016/04/21 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
深入理解Django-Signals信号量
2019/02/19 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
《雨霖铃》教学反思
2014/02/22 职场文书
小学运动会口号
2014/06/07 职场文书
重点工程汇报材料
2014/08/27 职场文书
教师旷工检讨书
2015/08/15 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
如何使用php生成zip压缩包
2021/04/21 PHP
MySQL 原理与优化之Update 优化
2022/08/14 MySQL