历时Keras分类器模型性能图

时间:2019-04-15 14:17:02

标签: python tensorflow keras

我正在使用内置的KerasClassifier包装器在练习神经网络上执行kfold交叉验证,以对著名的“虹膜数据集”进行分类。我想绘制模型随时间变化的性能图。我不确定如何使用KerasClassifier包装器执行此操作。

model.history()方法

### Neural Network Time!
import tensorflow as tf 
from tensorflow import keras
from keras.wrappers.scikit_learn import KerasClassifier
from keras.layers import Dense
from keras.models import Sequential
from sklearn.model_selection import KFold

kfold = KFold(n_splits=10, shuffle=True, random_state=seed)

### Build small model
def small_network():
    model = Sequential()
    model.add(Dense(8, activation='relu'))
    model.add(Dense(10, activation='relu'))
    model.add(Dense(3, activation='softmax'))
    # Compile the model
    model.compile(optimizer='adam',
                          loss='categorical_crossentropy',
                          metrics=['accuracy'])
    return model

small_estimator = KerasClassifier(build_fn=small_network, epochs=50, verbose=0)
small_results = cross_val_score(small_estimator, X, y_hot, cv=kfold)
print("Small Network Accuracy: %.2f%% (%.2f%%)" % (small_results.mean()*100, small_results.std()*100))
#GRAPH OF MODEL HISTORY!!!

我希望能够使用KerasClassifier对象随时间创建模型精度图。

1 个答案:

答案 0 :(得分:0)

仅在运行验证后使用:

import seaborn as sns
sns.lineplot(data=small_results)

然后您可以自定义情节