Kom igångKom igång gratis

R-kvadrat

Tidigare uttryckte vi ett annat anpassningsmått, R-kvadrat, som ett förhållande mellan RSS och VAR. Multiplicerar man täljaren och nämnaren med 1/n framgår det att måttet numeriskt sett är kvoten av variansen hos residualerna dividerat med variansen hos den linjära trenden i de data vi modellerar. Detta kan tolkas som ett mått på hur stor del av variansen i dina data som "förklaras" av modellen, i jämförelse med spridningen eller variansen hos residualerna (efter att den linjära trenden tagits bort).

Här har vi förladdat data x_data, y_data och modellens prediktioner y_model för den bäst anpassade modellen. Ditt mål är att beräkna R-kvadrat för att kvantifiera hur väl den linjära modellen fångar variationen i data.

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

Introduktion till linjär modellering i Python

Visa kurs

Övningsinstruktioner

  • Beräkna residuals genom att subtrahera y_data från y_model, och deviations genom att subtrahera y_data från np.mean() av y_data.
  • Beräkna variansen för residuals och variansen för deviations med hjälp av np.mean() och np.square().
  • Beräkna r_squared som 1 minus kvoten var_residuals / var_deviations, och skriv ut resultatet.

Interaktiv övning med praktiskt arbete

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

# Compute the residuals and the deviations
residuals = ____ - y_data
deviations = np.____(____) - y_data

# Compute the variance of the residuals and deviations
var_residuals = np.____(np.____(____))
var_deviations = np.____(np.____(____))

# Compute r_squared as 1 - the ratio of RSS/Variance
r_squared = 1 - (____ / ____)
print('R-squared is {:0.2f}'.format(____))
Redigera och kör kod