Оценка модели в Керасе - PullRequest
0 голосов
/ 21 января 2020

Я тренирую модель для выполнения бинарной классификации через Keras. После обучения моей модели я попытался оценить ее следующим образом:

# Evaluate the model
print('Evaluate on test data')
loss, acc = model.evaluate(X_test, y_test, verbose=2)
print('Test loss: %.4f' % loss)
print('Test accuracy: %.4f' % acc)

И я получил такой результат:

Evaluate on test data
116/1 - 0s - loss: 0.3099 - accuracy: 0.8793
Test loss: 0.2802
Test accuracy: 0.8793

Мой вопрос: почему значения потерь, о которых сообщают, отличаются? то есть 0.3099 и 0.2802? Это какая-то ошибка? Или я что-то здесь упускаю?

1 Ответ

2 голосов
/ 21 января 2020

Нет, это не ошибка, это имеет смысл, как только вы узнаете, как вычисляются оба числа. Так как вы установили verbose=2 в своем вызове model.evaluate, он показывает ход пакетов по тестовому набору.

Точность и потери, отображаемые в индикаторе выполнения, являются экспоненциально средними по партиям, чтобы упростить визуализацию , Потери и точность, которые вы получаете в результате возврата model.evaluate, представляют собой общую потерю / точность, усредненную по партиям, и представляют собой числа, которые следует считать окончательными и правильными.

...