Kom igångKom igång gratis

Visualisera RSS-minimat

I den här övningen beräknar och visualiserar du hur RSS varierar för olika värden på modellens parametrar. Börja med att hålla konstanttermen (intercept) fast och variera lutningen: för varje lutningsvärde beräknar du modellens prediktioner och det resulterande RSS-värdet. När du har en array med RSS-värden bestämmer du det minimala RSS-värdet i koden och identifierar utifrån det minimat den lutning som gav lägst RSS.

Använd de fördefinierade dataarrayerna x_data, y_data och den tomma behållaren rss_list för att komma igång.

Den här övningen är en del av kursen

Introduktion till linjär modellering i Python

Visa kurs

Övningsinstruktioner

  • För varje testvärde a1 i a1_array använder du model() för att beräkna modellens prediktion och sedan compute_rss() med y_data, y_model. Lagra resultatet rss_value i rss_list.
  • Konvertera rss_list till en np.array() och använd sedan np.min() för att hitta det lägsta värdet i rss_array.
  • Använd np.where() för att hitta motsvarande testvärde och tilldela resultatet till best_a1.
  • Använd plot_rss_vs_parameters() för att visuellt bekräfta att dina värden stämmer överens med figuren ovan.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod