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
Övningsinstruktioner
- Beräkna
residualsgenom att subtraheray_datafråny_model, ochdeviationsgenom att subtraheray_datafrånnp.mean()avy_data. - Beräkna variansen för
residualsoch variansen fördeviationsmed hjälp avnp.mean()ochnp.square(). - Beräkna
r_squaredsom 1 minus kvotenvar_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(____))