利用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实现的飞速中文网小说下载脚本
Apr 23 Python
微信跳一跳python代码实现
Jan 05 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
Aug 12 Python
在python中做正态性检验示例
Dec 09 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
Python 内存管理机制全面分析
Jan 16 Python
如何在向量化NumPy数组上进行移动窗口
May 18 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 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面象对象数据库操作类实例
2014/12/02 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
2015/04/06 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
JavaScript+HTML5实现的日期比较功能示例
2017/07/12 Javascript
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
对于Python的Django框架部署的一些建议
2015/04/09 Python
python二分查找算法的递归实现方法
2016/05/12 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
python实现八大排序算法(2)
2017/09/14 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
浙江文明网签名寄语
2014/01/18 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
2014年军人思想汇报范文
2014/10/12 职场文书
领导新年致辞2016
2015/07/29 职场文书
详解Python牛顿插值法
2021/05/11 Python