Saltar al contenido

¿Cuál es la diferencia entre Keras model.evaluate() y model.predict()?

Necesitamos tu ayuda para compartir nuestras secciones referente a las ciencias informáticas.

Solución:

los model.evaluate predice la salida para la entrada dada y luego calcula la función de métrica especificada en el model.compile y basado en y_true y y_pred y devuelve el valor métrico calculado como salida.

los model.predict simplemente devuelve el y_pred

Así que si usas model.predict y luego calcule las métricas usted mismo, el valor de la métrica calculada debería ser el mismo que model.evaluate

Por ejemplo, uno usaría model.predict en lugar de model.evaluate en la evaluación de modelos basados ​​en RNN/LSTM donde la salida debe alimentarse como entrada en el siguiente paso de tiempo

El problema radica en el hecho de que cada métrica en Keras se evalúa de la siguiente manera:

  1. Para cada batch se evalúa un valor de métrica.
  2. Un valor actual de la pérdida (después de k lotes es igual a un valor medio de su métrica calculada k lotes).
  3. El resultado final se obtiene como la media de todas las pérdidas calculadas para todos los lotes.

La mayoría de las métricas más populares (como mse, categorical_crossentropy, mae) etc. – como medio de valor de pérdida de cada ejemplo – tienen la propiedad de que dicha evaluación termina con un resultado adecuado. Pero en el caso del coeficiente de dados, una media de su valor en todos los lotes no es igual al valor real calculado en un conjunto de datos completo y como model.evaluate() utiliza esa forma de cálculo: esta es la causa directa de su problema.

los keras.evaluate() La función le dará el valor de pérdida para cada lote. los keras.predict() le dará las predicciones reales para todas las muestras en un lote, para todos los lotes. Entonces, incluso si usa los mismos datos, las diferencias estarán ahí porque el valor de una función de pérdida será casi siempre diferente a los valores predichos. Estas son dos cosas diferentes.

Tienes la opción de añadir valor a nuestra información aportando tu experiencia en las reseñas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *