本篇主要集中实现 roc和混淆矩阵(至于模型,这里随便建了一个(知道是个模型就好,当然太low,最后实现的效果也不太好),但,这里重点是除模型以外的内容)
陈述至此,开始进入正题—请看代码!
导入所有用到的包
from keras.datasets import cifar10
from keras.layers import Input, Dense, Dropout, Activation, Flatten
from keras.utils import to_categorical
from keras import Model,models
from keras.models import Sequential, load_model, Model
from keras.layers import Convolution2D, MaxPooling2D
import keras
from keras.callbacks import Callback
from sklearn.metrics import roc_auc_score
from sklearn.metrics import roc_curve,auc
import matplotlib.pyplot as plt
from sklearn.metrics import confusion_matrix
import itertools
from sklearn.preprocessing import label_binarize
import numpy as np
下面是用到的 ROC,混淆矩阵的函数模块
def paintRoc(y_true,y_score):
fpr,tpr,thresholds=roc_curve(y_true.ravel(),y_score.ravel())
roc_auc=auc(fpr,tpr)
plt.plot(fpr,tpr,lw=5,alpha=0.8,color='r',label='Roc(AUC=%0.2f)'%(roc_auc))
plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r',
label='Luck', alpha=.8)
plt.xlabel('FPR')
plt.ylabel('TPR')
plt.title('ROC_auc(AUC=%0.2f)'%(roc_auc))
plt.legend(loc="lower right")
plt.show()