Zacznij terazZacznij za darmo

Wizualizacja minimum RSS

W tym ćwiczeniu obliczysz i zwizualizujesz, jak RSS zmienia się dla różnych wartości parametrów modelu. Zacznij od utrzymania stałego wyrazu wolnego i zmieniaj tylko nachylenie – dla każdej wartości nachylenia obliczysz wartości modelu oraz odpowiadające im RSS. Gdy uzyskasz tablicę wartości RSS, wyznaczysz w kodzie minimalne RSS, a następnie na jego podstawie określisz wartość nachylenia, która dała to minimum.

Do pracy wykorzystaj wczytane wcześniej tablice danych x_data, y_data oraz pustą listę rss_list.

To ćwiczenie jest częścią kursu

Wprowadzenie do modelowania liniowego w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dla każdej próbnej wartości a1 z tablicy a1_array użyj funkcji model(), aby wyznaczyć wartości modelu, a następnie compute_rss() z argumentami y_data, y_model – wynik rss_value zapisz w liście rss_list.
  • Przekształć rss_list na tablicę np.array(), a następnie użyj np.min(), aby znaleźć minimalną wartość w rss_array.
  • Użyj np.where(), aby znaleźć odpowiadającą jej próbną wartość, i przypisz wynik do best_a1.
  • Użyj funkcji plot_rss_vs_parameters(), aby wizualnie potwierdzić, że twoje wartości zgadzają się z pokazanym wykresem.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod