В керасе мы можем обучить модель, используя команду fit
, а затем использовать predict
.
Dcnn=model.fit(x_train, y_train, epochs=5, batch_size=32)
model.predict(test_dataset,verbose=True)
при использовании метода fit
мы получаем результаты точности, как показано ниже. Допустим, после 5 эпох мы получили точность 98,62% на тренировочных данных. Теперь, если мы используем model.predict(x_train,verbose=True)
, получим ли мы точно такую же точность и точно такие же прогнозы для каждого наблюдения, как показано в результате метода соответствия? если нет, то почему?
Epoch 5/5
61/61 - 11s - loss: 0.0320 - tp: 1602.0000 - fp: 18.0000 - tn: 321.0000 - fn: 9.0000 - accuracy: 0.9862
update1
Я обновил команды, как показано ниже Dcnn.fit(train_dataset,
epochs=NB_EPOCHS,
verbose=2,validation_data=test_dataset)
и получил следующие результаты
Epoch 5/5
61/61 - 11s - loss: 0.0320 - tp: 1602.0000 - fp: 18.0000 - tn: 321.0000 - fn: 9.0000 - accuracy: 0.9862 - precision: 0.9889 - recall: 0.9944 - auc: 0.9990 - val_loss: 0.9760 - val_tp: 161.0000 - val_fp: 22.0000 - val_tn: 9.0000 - val_fn: 0.0000e+00 - val_accuracy: 0.8854 - val_precision: 0.8798 - val_recall: 1.0000 - val_auc: 0.7169
Теперь, если я попробую model.predict(test_dataset,verbose=True)
Я получаю точность 88,54% - то же, что и результат метода подгонки.
Если я выполню model.predict(train_dataset,verbose=True)
, получу ли я точность 98,62%? если нет, то почему?