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
Instructions
- Initialisez
errorscomme une liste vide. - Pour chaque ligne de
bikes_test, calculez l’erreur de prédiction comme les tirages prédictifs pour cette ligne issus deposterior_predictivemoins la valeur réelle unique denum_bikespour la ligne. - Remodelez
errorsen les convertissant en tableaunumpypuis 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()depymc3.
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()