利用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 自动补全(vim)
Nov 30 Python
用实例分析Python中method的参数传递过程
Apr 02 Python
在Django的session中使用User对象的方法
Jul 23 Python
python多进程共享变量
Apr 06 Python
谈谈如何手动释放Python的内存
Dec 17 Python
python数字图像处理之高级滤波代码详解
Nov 23 Python
Python通用循环的构造方法实例分析
Dec 19 Python
利用Python校准本地时间的方法教程
Oct 31 Python
Python笔记之观察者模式
Nov 20 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
Django使用Profile扩展User模块方式
May 14 Python
Python新手学习标准库模块命名
May 29 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
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
初识Javascript小结
2015/07/16 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
JavaScript数据结构中串的表示与应用实例
2017/04/12 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python网络爬虫采集联想词示例
2014/02/11 Python
python和pyqt实现360的CLable控件
2014/02/21 Python
python中__slots__用法实例
2015/06/04 Python
Python中functools模块的常用函数解析
2016/06/30 Python
Python中多个数组行合并及列合并的方法总结
2018/04/12 Python
python3利用tcp实现文件夹远程传输
2018/07/28 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
python实现横向拼接图片
2020/03/23 Python
任意存:BOXFUL
2018/05/21 全球购物
银行学习十八大感想
2014/01/11 职场文书
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP