IniziaInizia gratis

Visualizzare i minimi dell'RSS

In questo esercizio calcolerai e visualizzerai come l'RSS varia al variare dei valori dei parametri del modello. Inizia mantenendo l'intercetta fissa, ma varia la pendenza: per ciascun valore di pendenza calcolerai i valori del modello e l'RSS risultante. Una volta ottenuto un array di valori RSS, individuerai il valore minimo di RSS, via codice, e da quel minimo determinerai la pendenza che ha prodotto quell'RSS minimo.

Usa gli array di dati pre-caricati x_data, y_data e il contenitore vuoto rss_list per iniziare.

Questo esercizio fa parte del corso

Introduzione alla modellazione lineare in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Per ogni valore di prova a1 in a1_array, usa model() per prevedere il valore del modello, poi compute_rss() con y_data, y_model, e salva l'output rss_value in rss_list.
  • Converte rss_list in un np.array(), quindi usa np.min() per trovare il valore minimo in rss_array.
  • Usa np.where() per trovare il valore di prova corrispondente e assegna il risultato a best_a1.
  • Usa plot_rss_vs_parameters() per confermare visivamente che i tuoi valori corrispondono alla figura mostrata.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
    y_model = model(x_data, a0=150, a1=____)
    rss_value = compute_rss(y_data, ____)
    rss_list.append(____)

# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____) 
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))

# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)
Modifica ed esegui il codice