# 读入数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, datasets
from sklearn.metrics import roc_curve, auc
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import label_binarize
from sklearn.multiclass import OneVsRestClassifier
from scipy import interp
from sklearn.metrics import roc_auc_score
from itertools import cycle
d1 = pd.read_excel("C:/Users/Administrator/Desktop/ROC_T.xlsx",sheet_name="Sheet1")
d1.to_csv('C:/Users/Administrator/Desktop/ROC_T_1.csv')
d2 = pd.read_csv('C:/Users/Administrator/Desktop/ROC_T_1.csv')
#由于当时有个bug显示列表里含有非0-1的类型,所以多此一举转换了csv形式=,=
# 计算AUC
from sklearn.metrics import roc_auc_score
print(roc_auc_score(d2.SH, d2.AI))
AUC = roc_auc_score(d2.SH, d2.AI)
# 绘制ROC曲线图
from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
fpr, tpr, thresholds = roc_curve(d2.SH, d2.AI, pos_label = 1)
#plt.plot(fpr,tpr)
#画图段
plt.plot(fpr, tpr, color='royalblue',label='AUC = %0.2f'%AUC)
plt.title('Receiver Operating Characteristic')
plt.legend()
plt.grid()#添加网格
plt.figure(dpi=100)
plt.figure(figsize=(20,20))
plt.show()
待优化:画出的图不能用plt.figure(dpi=100),plt.figure(figsize=(20,20))改变大小很奇怪