Este capÃtulo cubre la evaluación de modelos y la predicción de modelos en Keras.
Comencemos por comprender el modelo de valoración.
La evaluación es un proceso durante el desarrollo del modelo para verificar si el modelo es el que mejor se ajusta a un problema dado y los datos asociados. El modelo de Keras proporciona una función de puntuación que evalúa el modelo. Tiene tres argumentos principales:
Evaluemos el modelo que creamos en el capÃtulo anterior sobre datos de prueba.
score = model.evaluate(x_test, y_test, verbose = 0) print('Test loss:', score[0]) print('Test accuracy:', score[1])
La ejecución del código anterior generará la siguiente información.
0
La precisión de la prueba es del 98,28%. Hemos creado el mejor modelo para el reconocimiento de dÃgitos escritos a mano. En el lado positivo, todavÃa podemos mejorar nuestro modelo.
Pronóstico este es el paso final y nuestro resultado esperado de la generación del modelo. Keras proporciona un método, predecir para obtener la predicción del modelo entrenado. Firma predecir el método se ve asÃ,
predict( x, batch_size = None, verbose = 0, steps = None, callbacks = None, max_queue_size = 10, workers = 1, use_multiprocessing = False )
Todos los argumentos aquà son opcionales, excepto el primer argumento, que se refiere a una entrada desconocida. El formulario debe guardarse para obtener el pronóstico correcto.
Hagamos una predicción para nuestro modelo MPL creado en el capÃtulo anterior usando el siguiente código:
pred = model.predict(x_test) pred = np.argmax(pred, axis = 1)[:5] label = np.argmax(y_test,axis = 1)[:5] print(pred) print(label)
AquÃ,
LÃnea 1 llamar a la función de predicción utilizando datos de prueba.
LÃnea 2 obtiene las primeras cinco predicciones
LÃnea 3 obtiene las primeras cinco etiquetas de datos de prueba.
LÃnea 5-6 imprime el pronóstico y la etiqueta real.
El resultado de la aplicación anterior es el siguiente:
[7 2 1 0 4] [7 2 1 0 4]
El resultado de ambas matrices es idéntico y muestra que nuestro modelo predice las primeras cinco imágenes correctamente.
🚫