У меня есть набор данных, который можно передать во множественную входную нейронную сеть в форме питона словарь или список :
Пример:
#dict
{'input1': X1, 'input2': X2, 'input3': X3}, {'output': Y}
#list
[ X1, X2, X3], y
Теперь я хотел бы использовать К-кратную перекрестную проверку для оценки производительности моей модели.Как вы думаете, я могу использовать StratifiedKFold
из sklearn
как в этом примере с моновходом?
for train, test in kfold.split(X, Y):
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, 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'])
# Fit the model
model.fit(X[train], Y[train], epochs=150, batch_size=10, verbose=0)
# evaluate the model
scores = model.evaluate(X[test], Y[test], verbose=0)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
cvscores.append(scores[1] * 100)
В противном случае, что будет лучшим способом?