Kom igångKom igång gratis

Beräkna testfel

Nu när du har din posterior_predictive (tillgänglig i din arbetsyta) kan du utvärdera modellens prestanda på nya data. För att göra det behöver du loopa igenom testobservationerna och för var och en beräkna prediktionsfelet som skillnaden mellan den prediktiva fördelningen för observationen och det faktiska, sanna värdet. Det ger dig fördelningen av modellens fel, som du sedan kan visualisera.

Du behöver pymc3 och numpy, som redan har importerats som pm respektive np. Testdata, bikes_test, finns också tillgänglig i din arbetsyta. Då kör vi!

Den här övningen är en del av kursen

Bayesiansk dataanalys i Python

Visa kurs

Övningsinstruktioner

  • Initiera errors som en tom lista.
  • För varje rad i bikes_test beräknar du prediktionsfelet som de prediktiva urvalen för den raden från posterior_predictive minus det enskilda sanna värdet av num_bikes från raden.
  • Omforma errors genom att konvertera dem till en numpy-array och applicera metoden .reshape() på resultatet, och tilldela slutresultatet till error_distribution.
  • Plotta testfelfördelningen med hjälp av pymc3:s funktion plot_posterior().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod