我打算在 scikit-learn 的 K-fold 时使用 Keras 显示混淆矩阵。我使用 Keras 的代码是:
import numpy
import pandas
from keras.models import Sequential
from keras.layers import Dense
seed = 7
numpy.random.seed(seed)
# load dataset
dataframe = pandas.read_csv("BolMov.csv", header=None)
dataset = dataframe.values
X = dataset[:,0:24].astype(float)
Y = dataset[:,24]
model = Sequential()
model.add(Dense(16, activation='relu'))
model.add(Dense(7, activation='softmax')
model.compile('adam', 'categorical_crossentropy', metrics=['accuracy'])
y_cat = to_categorical(Y)
result = model.fit(X, y_cat, verbose=0, epochs=50)
plot_loss_accuracy(result)
y_pred = model.predict_classes(X, verbose=0)
print(classification_report(y, y_pred))
plot_confusion_matrix(model, X, y)
我应该如何在这段代码中使用 kfold?作者在这里调用了一个函数。我相信如果我在我的代码中这样做,model.fit()将会执行两次——一次用于我的 Keras 代码,另一次(内部)用于KerasClassifier(). 我 model.fit()只想执行一次。感谢任何人的帮助。