首页 / PYTHON / python 绘制ROC图像
python 绘制ROC图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python 绘制ROC图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2690字,纯文字阅读大概需要4分钟。
内容图文
![python 绘制ROC图像](/upload/InfoBanner/zyjiaocheng/839/5c38325e35ff4767a3312294c5fd003e.jpg)
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc ###计算roc和auc
from sklearn import cross_validation
from pandas import DataFrame,Series
import pandas as pd
import os
import re
def ROC(path):
df=pd.read_csv(path)
y_test=df['label']
y_score=df['probability']
## Compute ROC curve and ROC area for each class
fpr,tpr,threshold = roc_curve(y_test, y_score) ###计算真正率和假正率
roc_auc = auc(fpr,tpr) ###计算auc的值
return fpr,tpr,roc_auc
auc_list=[];tf_list=[]
plt.figure()
lw = 2
plt.figure(figsize=(10,10))
for root, dirs, files in os.walk("C:/Users/dell/Desktop/ROC/", topdown=False):
for name in files:
dir_f=os.path.join(root, name)
if re.search('val_predict.csv',dir_f):
fpr,tpr,roc_auc=ROC(path=dir_f)
tf=re.split(r'\\',re.split('/',dir_f)[-1])[-2]
print (tf)
tf_list.append(tf)
auc_list.append(roc_auc)
plt.plot(fpr, tpr, color='deepskyblue',lw=lw,linewidth=0.5) ###假正率为横坐标,真正率为纵坐标做曲线 label='ROC curve (area = %0.2f)' % roc_auc
plt.plot([0, 1], [0, 1], color='silver', lw=lw, linestyle='--')
plt.xlim([-0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
#plt.title('Receiver operating characteristic example')
plt.legend(loc="lower right")
plt.savefig('C:/Users/dell/Desktop/ROC/roc.eps',dpi=600,bbox_inches='tight')
plt.show()
plt.figure()
plt.figure(figsize=(1,3))
plt.ylim([0.75, 1.0])
#plt.boxplot(auc_list,whis=1.5,
# boxprops = {'color':'black','color':'deepskyblue','linewidth':2}, # 设置箱体属性,填充色和边框色
# flierprops = {'marker':'.','markerfacecolor':'black','color':'black'}, # 设置异常值属性,点的形状、填充色和边框色
# meanprops = {'marker':'D','markerfacecolor':'indianred'}, # 设置均值点的属性,点的形状、填充色
# medianprops = {'linestyle':'-','color':'deepskyblue','linewidth':2})
f=plt.boxplot(auc_list,widths=0.5,flierprops = {'marker':'o','markerfacecolor':'deepskyblue','color':'white'})
for box in f['boxes']:
box.set( color='deepskyblue', linewidth=2)
box.set( color = 'deepskyblue' )
for whisker in f['whiskers']:
whisker.set(color='deepskyblue', linewidth=2)
for cap in f['caps']:
cap.set(color='deepskyblue', linewidth=3)
for median in f['medians']:
median.set(color='deepskyblue', linewidth=3)
#for flier in f['fliers']:
# flier.set(marker='.', color='deepskyblue', alpha=0.8)
plt.xticks([])
plt.ylabel('AUC')
plt.savefig('C:/Users/dell/Desktop/ROC/AUC.eps',dpi=600,bbox_inches='tight')
plt.show()
df_auc=DataFrame()
df_auc['AUC']=Series(auc_list,index=tf_list)
df_auc.to_csv('C:/Users/dell/Desktop/ROC/AUC.csv')
内容总结
以上是互联网集市为您收集整理的python 绘制ROC图像全部内容,希望文章能够帮你解决python 绘制ROC图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。