IniziaInizia gratis

Stima dell'errore sul test

Ora che hai il tuo posterior_predictive (disponibile nel tuo workspace), puoi valutare le prestazioni del modello su nuovi dati. Per farlo, dovrai iterare sulle osservazioni di test e, per ciascuna, calcolare l'errore di previsione come differenza tra la distribuzione predittiva per questa osservazione e il valore reale osservato. Questo ti darà la distribuzione dell'errore del tuo modello, che potrai poi visualizzare.

Ti serviranno pymc3 e numpy, che sono già stati importati come pm e np. Anche i dati di test, bikes_test, sono disponibili nel tuo workspace. Mettiamoci al lavoro!

Questo esercizio fa parte del corso

Analisi dei dati bayesiana in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Inizializza errors come lista vuota.
  • Per ogni riga in bikes_test, calcola l'errore di previsione come le estrazioni predittive per questa riga da posterior_predictive meno il singolo valore reale di num_bikes dalla riga.
  • Rimodella errors convertendoli in un array numpy e applicando il metodo .reshape() al risultato; assegna il risultato finale a error_distribution.
  • Traccia la distribuzione dell'errore sul test usando la funzione plot_posterior() di pymc3.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice