Začněte nyníZačněte zdarma

Vizualizace minima RSS

V tomto cvičení vypočítáš a vizualizuješ, jak se RSS mění pro různé hodnoty parametrů modelu. Začneš tím, že ponecháš intercept konstantní a budeš měnit slope: pro každou hodnotu slope vypočítáš hodnoty modelu a výsledné RSS. Jakmile budeš mít pole hodnot RSS, zjistíš minimální hodnotu RSS v kódu a z tohoto minima určíš slope, které k tomuto minimu vedlo.

Pro začátek použij předem načtená datová pole x_data, y_data a prázdný kontejner rss_list.

Toto cvičení je součástí kurzu

Úvod do lineárního modelování v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Pro každou zkušební hodnotu a1 v poli a1_array použij funkci model() k výpočtu předpovězené hodnoty modelu, poté compute_rss() s argumenty y_data, y_model a výsledek rss_value ulož do rss_list.
  • Převeď rss_list na np.array(), poté pomocí np.min() najdi minimální hodnotu v poli rss_array.
  • Pomocí np.where() najdi odpovídající zkušební hodnotu a výsledek přiřaď do best_a1.
  • Použij plot_rss_vs_parameters() k vizuálnímu ověření, že tvoje hodnoty souhlasí s uvedeným grafem.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód