ComenzarEmpieza gratis

Estimación del error de test

Ahora que tienes posterior_predictive (disponible en tu espacio de trabajo), puedes evaluar el rendimiento del modelo en datos nuevos. Para ello, tendrás que iterar sobre las observaciones de test y, para cada una, calcular el error de predicción como la diferencia entre la distribución predictiva de esa observación y su valor real. Esto te dará la distribución del error de tu modelo, que luego podrás visualizar.

Vas a necesitar pymc3 y numpy, que ya se han importado como pm y np, respectivamente. Los datos de test, bikes_test, también están disponibles en tu espacio de trabajo. ¡Manos a la obra!

Este ejercicio forma parte del curso

Análisis de datos bayesiano en Python

Ver curso

Instrucciones del ejercicio

  • Inicializa errors como una lista vacía.
  • Para cada fila en bikes_test, calcula el error de predicción como las muestras predictivas para esa fila desde posterior_predictive menos el valor real único de num_bikes de la fila.
  • Reordena errors convirtiéndolos en un array de numpy y aplicando el método .reshape() al resultado, y asigna el resultado final a error_distribution.
  • Representa la distribución del error de test usando la función plot_posterior() de pymc3.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Initialize errors
errors = ____

# Iterate over rows of bikes_test to compute error per row
for index, test_example in bikes_test.iterrows():
    error = ____[____][:, ____] - ____[____]
    errors.append(error)

# Reshape errors
error_distribution = ____(____).____()

# Plot the error distribution
____
plt.show()
Editar y ejecutar código