Керас - Оценка модели и прогнозирование модели

В этой главе рассматривается оценка модели и прогнозирование модели в Keras.

Давайте начнем с понимания модели оценки.

Оценка модели

Оценка - это процесс во время разработки модели, чтобы проверить, подходит ли модель наилучшим образом для данной проблемы и соответствующих данных. Модель Keras предоставляет функцию оценки, которая выполняет оценку модели. У него есть три основных аргумента:

  • Данные испытаний
  • Этикетка с данными испытаний
  • многословный - правда или ложь

Оценим модель, которую мы создали в предыдущей главе, на тестовых данных.

score = model.evaluate(x_test, y_test, verbose = 0) 

print('Test loss:', score[0]) 
print('Test accuracy:', score[1])

Выполнение приведенного выше кода выведет следующую информацию.

0

Точность теста 98,28%. Мы создали лучшую модель для распознавания рукописных цифр. С положительной стороны, мы все еще можем улучшить нашу модель.

Прогнозирование модели

Predictionэто последний шаг и наш ожидаемый результат от поколения модели. Keras предоставляет метод, предсказать , чтобы получить предсказание обученной модели. Сигнатура метода прогнозирования следующая:

predict(
   x, 
   batch_size = None, 
   verbose = 0, 
   steps = None, 
   callbacks = None, 
   max_queue_size = 10, 
   workers = 1, 
   use_multiprocessing = False
)

Здесь все аргументы являются необязательными, кроме первого аргумента, который ссылается на неизвестные входные данные. Форма должна быть сохранена, чтобы получить правильный прогноз.

Давайте сделаем прогноз для нашей модели MPL, созданной в предыдущей главе, используя приведенный ниже код -

pred = model.predict(x_test) 
pred = np.argmax(pred, axis = 1)[:5] 
label = np.argmax(y_test,axis = 1)[:5] 

print(pred) 
print(label)

Вот,

  • Line 1 вызвать функцию прогнозирования с использованием тестовых данных.

  • Line 2 получает первые пять предсказаний

  • Line 3 получает первые пять меток тестовых данных.

  • Line 5 - 6 печатает прогноз и фактическую этикетку.

Вывод вышеуказанного приложения выглядит следующим образом -

[7 2 1 0 4] 
[7 2 1 0 4]

Выходные данные обоих массивов идентичны и показывают, что наша модель правильно предсказывает первые пять изображений.