如何使用scikit Learn的MLP分类器可视化模型训练历史记录?

问题描述

我使用了pima-indians-diabetes.csv数据集。我使用Keras建立了包含12-8-1体系结构的神经网络,并且能够完美地可视化培训历史。接下来,我尝试使用scikit Learn的MLPCLassifier实现相同的模型。在这种情况下是否可以像我对Keras那样实施训练历史曲线?我只需要可视化我的训练历史,即像Keras一样的训练准确性,验证准确性,训练损失和验证损失。我的代码和曲线使用Keras:

from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import StratifiedKFold
import numpy
numpy.random.seed(42)

# load pima indians dataset
dataset = numpy.loadtxt("/content/gdrive/My Drive/pima-indians-diabetes.csv",delimiter=",")

# split into input (X) and output (Y) variables
X = dataset[:,0:8]
Y = dataset[:,8]

model = Sequential()
model.add(Dense(12,input_dim=8,kernel_initializer= 'uniform',activation= 'relu' ))
model.add(Dense(8,activation= 'relu' ))
model.add(Dense(1,activation= 'sigmoid' ))
# Compile model
model.compile(loss= 'binary_crossentropy',optimizer= 'adam',metrics=[ 'accuracy' ])

history= model.fit(X,Y,validation_split=0.33,epochs=150,batch_size=10)

import matplotlib.pyplot as plt
print(history.history.keys())
# summarize history for accuracy
plt.plot(history.history[ 'accuracy' ])
plt.plot(history.history[ 'val_accuracy' ])
plt.title( 'model accuracy' )
plt.ylabel( 'accuracy' )
plt.xlabel( 'epoch' )
plt.legend([ 'train','test' ],loc= 'lower right' )
plt.show()

import matplotlib.pyplot as plt
print(history.history.keys())
# summarize history for accuracy
plt.plot(history.history[ 'loss' ])
plt.plot(history.history[ 'val_loss' ])
plt.title( 'model loss' )
plt.ylabel( 'loss' )
plt.xlabel( 'epoch' )
plt.legend([ 'train',loc= 'upper left' )
plt.show()

enter image description here

enter image description here

我的代码使用sklearn的MLP分类器:

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,test_size=0.33,random_state=42)

#Using MLPclassifier from sklearn
from sklearn.neural_network import MLPClassifier

clf1 = MLPClassifier(batch_size=10,max_iter=150,hidden_layer_sizes=(12,8),verbose=True,early_stopping=True,random_state=42)

clf1.fit(X_train,y_train)

from sklearn.metrics import classification_report
#Predicting y for X_val
y_pred = clf1.predict(X_test)

print(classification_report(y_test,y_pred))

我能够生成分类报告,但没有图形化的可视化。如何像使用Keras一样生成像使用sklearn的MLPClassifier附加的曲线一样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...