ÎncepețiÎncepe gratuit

Vizualizarea minimului RSS

În acest exercițiu vei calcula și vizualiza modul în care RSS variază în funcție de valorile parametrilor modelului. Începe prin a menține interceptul constant și variază panta: pentru fiecare valoare a pantei, vei calcula valorile modelului și RSS-ul corespunzător. După ce ai un array de valori RSS, vei determina valoarea minimă a RSS-ului în cod și, pornind de la acel minim, vei afla panta care a generat cel mai mic RSS.

Folosește array-urile de date preîncărcate x_data, y_data și containerul gol rss_list ca punct de plecare.

Acest exercițiu face parte din cursul

Introducere în modelarea liniară în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Pentru fiecare valoare de test a1 din a1_array, folosește model() pentru a calcula valoarea predicției, apoi compute_rss() cu y_data, y_model; stochează rezultatul rss_value în rss_list.
  • Convertește rss_list într-un np.array(), apoi folosește np.min() pentru a găsi valoarea minimă din rss_array.
  • Folosește np.where() pentru a identifica valoarea de test corespunzătoare și atribuie rezultatul variabilei best_a1.
  • Folosește plot_rss_vs_parameters() pentru a confirma vizual că valorile tale corespund figurii afișate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul