Estimarea erorii pe datele de test
Acum că ai posterior_predictive disponibil în spațiul de lucru, poți evalua performanța modelului pe date noi. Pentru aceasta, va trebui să parcurgi observațiile de test și, pentru fiecare dintre ele, să calculezi eroarea de predicție ca diferența dintre distribuția predictivă pentru acea observație și valoarea reală. Astfel vei obține distribuția erorii modelului, pe care o poți vizualiza ulterior.
Vei avea nevoie de pymc3 și numpy, care au fost importate pentru tine ca pm, respectiv np. Datele de test, bikes_test, sunt de asemenea disponibile în spațiul de lucru. Să ne apucăm de treabă!
Acest exercițiu face parte din cursul
Analiza bayesiană a datelor în Python
Instrucțiuni pentru exercițiu
- Inițializează
errorsca o listă goală. - Pentru fiecare rând din
bikes_test, calculează eroarea de predicție ca diferența dintre eșantioanele predictive pentru acel rând dinposterior_predictiveși valoarea reală unică a luinum_bikesdin rând. - Restructurează
errorsconvertindu-le într-un arraynumpyși aplicând metoda.reshape()rezultatului, apoi atribuie rezultatul final variabileierror_distribution. - Vizualizează distribuția erorii pe datele de test folosind funcția
plot_posterior()dinpymc3.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()