利用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多线程编程中的join函数使用心得
Sep 02 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
python字符串替换第一个字符串的方法
Jun 26 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
Djang的model创建的字段和参数详解
Jul 27 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
Python concurrent.futures模块使用实例
Dec 24 Python
Python动态导入模块:__import__、importlib、动态导入的使用场景实例分析
Mar 30 Python
python反编译教程之2048小游戏实例
Mar 03 Python
python基础之文件操作
Oct 24 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
Terran历史背景
2020/03/14 星际争霸
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP实现股票趋势图和柱形图
2015/02/07 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
Javascript 陷阱 window全局对象
2008/11/26 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
有关json_decode乱码及NULL的问题
2015/10/13 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
Python+matplotlib实现计算两个信号的交叉谱密度实例
2018/01/08 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
Python之列表的插入&替换修改方法
2018/06/28 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
深入理解Django-Signals信号量
2019/02/19 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
国庆横幅标语
2014/10/08 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书
初三数学教学反思
2016/02/17 职场文书