CommencezCommencez gratuitement

Estimer l'erreur de test

Maintenant que vous avez votre posterior_predictive (disponible dans votre espace de travail), vous pouvez évaluer la performance du modèle sur de nouvelles données. Pour ce faire, vous devrez parcourir les observations de test et, pour chacune, calculer l'erreur de prédiction comme la différence entre la distribution prédictive pour cette observation et la valeur réelle observée. Vous obtiendrez ainsi la distribution de l'erreur de votre modèle, que vous pourrez ensuite visualiser.

Vous aurez besoin de pymc3 et de numpy, qui ont été importés pour vous sous les noms pm et np. Les données de test, bikes_test, sont aussi disponibles dans votre espace de travail. Allons-y!

Cette activité fait partie du cours

Analyse bayésienne des données en Python

Voir le cours

Instructions de l’exercice

  • Initialisez errors comme une liste vide.
  • Pour chaque ligne de bikes_test, calculez l'erreur de prédiction comme les tirages prédictifs pour cette ligne à partir de posterior_predictive moins la valeur réelle unique de num_bikes de la ligne.
  • Remodelez errors en les convertissant en un tableau numpy et en appliquant la méthode .reshape() au résultat, puis affectez le résultat final à error_distribution.
  • Tracez la distribution de l'erreur de test avec la fonction plot_posterior() de pymc3.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code