CommencerCommencer gratuitement

Estimer l’erreur de test

Maintenant que vous avez votre posterior_predictive (disponible dans votre espace de travail), vous pouvez évaluer les performances 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. Cela vous donnera la distribution de l’erreur de votre modèle, que vous pourrez ensuite visualiser.

Vous aurez besoin de pymc3 et de numpy, déjà importés sous les noms pm et np, respectivement. Les données de test, bikes_test, sont également disponibles dans votre espace de travail. Allons-y !

Cet exercice fait partie du cours

Analyse de données bayésienne en Python

Afficher le cours

Instructions

  • 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 issus de posterior_predictive moins la valeur réelle unique de num_bikes pour la ligne.
  • Remodelez errors en les convertissant en tableau numpy puis en appliquant la méthode .reshape() au résultat, et affectez le résultat final à error_distribution.
  • Tracez la distribution de l’erreur de test à l’aide de la fonction plot_posterior() de pymc3.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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