Я учусь использовать tf и Keras с проблемой регрессии.
Я написал эту функцию для перекрестной проверки разностных моделей, чтобы сравнить их.
def cv(X, y, model, n_splits=5, epochs=5, batch_size=1024,
random_state=42, verbose=0):
# kf = KFold(n_splits=n_splits, shuffle=True, random_state=random_state)
kf = KFold(n_splits=n_splits, shuffle=False, random_state=random_state)
histories = []
for s in kf.split(X):
X_train = X.iloc[s[0]].to_numpy()
y_train = y.iloc[s[0]]['Target'].to_numpy()
X_test = X.iloc[s[1]].to_numpy()
y_test = y.iloc[s[1]]['Target'].to_numpy()
h = model.fit(X_train, y_train,
epochs=epochs,
batch_size=batch_size,
validation_data=(X_test, y_test),
verbose=verbose)
histories.append(h)
score = model.evaluate(X_test, y_test, verbose=verbose)
cvscores.append(score)
return histories, cvscores
I обнаружил, что оценка от model.evaluate всегда равна egals для val_loss внутри объекта истории из model.fit.
Это действительно одно и то же?
Спасибо!