Odhad chyby na testovacích datech
Teď, když máš k dispozici posterior_predictive (dostupný v pracovním prostředí), můžeš vyhodnotit výkon modelu na nových datech. K tomu budeš muset projít testovací pozorování ve smyčce a pro každé z nich spočítat chybu předpovědi jako rozdíl mezi prediktivním rozdělením pro dané pozorování a skutečnou, pravou hodnotou. Tím získáš rozdělení chyby modelu, které pak můžeš vizualizovat.
Budeš potřebovat pymc3 a numpy, které jsou pro tebe importovány jako pm a np. Testovací data bikes_test jsou také dostupná v pracovním prostředí. Jdeme na to!
Toto cvičení je součástí kurzu
Bayesian Data Analysis in Python
Pokyny k cvičení
- Inicializuj
errorsjako prázdný seznam. - Pro každý řádek v
bikes_testvypočítej chybu předpovědi jako prediktivní vzorky pro daný řádek zposterior_predictiveminus jednu skutečnou hodnotunum_bikesz tohoto řádku. - Přetvaruj
errorstak, že je převedeš na polenumpya na výsledek aplikuješ metodu.reshape(), a výsledek přiřaď doerror_distribution. - Vykresli rozdělení testovací chyby pomocí funkce
plot_posterior()zpymc3.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()