1. Nauka
  2. /
  3. Kursy
  4. /
  5. Bayesowska analiza danych w Pythonie

Connected

ćwiczenie

Szacowanie błędu na zbiorze testowym

Teraz, gdy masz dostępny obiekt posterior_predictive w swoim środowisku pracy, możesz ocenić wydajność modelu na nowych danych. W tym celu przejdziesz pętlą po obserwacjach testowych i dla każdej z nich obliczysz błąd predykcji jako różnicę między rozkładem predykcyjnym dla tej obserwacji a jej rzeczywistą wartością. Otrzymasz w ten sposób rozkład błędu modelu, który następnie zwizualizujesz.

Będziesz potrzebować bibliotek pymc3 i numpy, które zostały już zaimportowane jako pm i np. Dane testowe bikes_test są również dostępne w twoim środowisku. Do dzieła!

Instrukcje

100 XP
  • Zainicjuj errors jako pustą listę.
  • Dla każdego wiersza w bikes_test oblicz błąd predykcji jako różnicę między próbkami predykcyjnymi dla tego wiersza z posterior_predictive a pojedynczą prawdziwą wartością num_bikes z tego wiersza.
  • Przekształć errors, konwertując je na tablicę numpy i stosując metodę .reshape() do wyniku, a następnie przypisz końcowy wynik do zmiennej error_distribution.
  • Zwizualizuj rozkład błędu testowego, używając funkcji plot_posterior() z biblioteki pymc3.