После выполнения gridsearchcv
я использую наилучший оценщик для повторного подбора данных:
X_train1_be, X_val1_be, y_train1_be, y_val1_be = train_test_split(X_train1, y_train1, test_size=0.2, shuffle=False)
epochs = [1, 3, 5, 7, 10]
grid_best = grid_result.best_estimator_
history = grid_best.fit(X_train1_be, y_train1_be
, callbacks = [
EarlyStopping()
, time_callback = TimeHistory()
]
, validation_data=(X_val1_be, y_val1_be)
, epochs = max(epochs)*3
)
Теперь проблема в том, что я не понимаю вывод объекта history
:
history.history['loss']
[0.8300184490816558,
0.5283153956098592,
0.449094379786402,
0.4157974881613079,
0.38849579829120023,
0.3627836440196809,
0.3339067582753213]
Разве не должно быть 30 значений? Или хотя бы 10? Когда я пересчитываю, я часто получаю только два значения после этого, но иногда действительно в соответствии с реальным числом эпох, приведенным в fit.()
. Но в основном только два значения. Я абсолютно не понимаю этого случайного поведения. Я только повторяю history = grid_best.fit(...)
и получаю в основном произвольные результаты. Когда я повторяю весь код с самого начала, я получаю не менее двух значений (но, как и выше, также не так много, как должно быть (?)).