Kursusindhold
Lineær Regression med Python
Lineær Regression med Python
R-kvadreret
Hvad er R-squared
Vi har gennemgået nogle af de mest anvendte metrikker for regression i kapitlet Metrics. Disse er MSE, RMSE og MAE. De er gode til at sammenligne modeller, men når du bygger én model, forstår du ikke altid, om det er en god score for dit datasæt, eller om du skal fortsætte med at prøve andre modeller.
Heldigvis findes der en metrik kaldet R-squared, som måler modellens præstation på en skala fra 0 til 1. R-squared beregner andelen af variansen i målet, som forklares af modellen.
Problemet er, at vi ikke kan beregne den forklarede varians med det samme. Men vi kan beregne den uforklarede varians, så vi omformer ovenstående ligning til:
Total varians
Den totale varians er blot variansen af målet, og vi kan beregne målets varians ved hjælp af formelen for stikprøvevarians fra statistik (ȳ er målets gennemsnit):
Her er et eksempel med visualisering. Forskellene mellem den faktiske målværdi og målets gennemsnit er farvet orange. Ligesom ved beregning af SSR tager vi længden af hver orange linje, kvadrerer den og lægger den til summen, men nu dividerer vi også resultatet med m-1. Her fik vi en total varians på 11,07.
Uforklaret varians
Nu skal vi beregne den varians, som ikke forklares af modellen. Hvis modellen forklarede hele variansen, ville alle punkterne ligge på den optegnede regressionslinje. Det er sjældent tilfældet, så vi ønsker at beregne målets varians, men nu i forhold til regressionslinjen i stedet for gennemsnittet. Vi bruger den samme formel, men erstatter ȳ med modellens forudsigelser.
Her er et eksempel med visualisering:
Nu ved vi alt, hvad der skal til for at beregne R-squared:
Vi fik en R-squared score på 0,92, hvilket er tæt på 1, så vi har en fremragende model. Vi vil også beregne R-squared for endnu en model.
R-squared er lavere, da modellen underfitter dataene en smule.
R-squared i Python
sm.OLS
-klassen beregner R-squared for os. Vi kan finde det i summary()
-tabellen her.
Sammenfattende er R-squared en metrik for regression. Den kan have værdier fra 0 til 1. I modsætning til andre metrikker som MSE/MAE er en højere værdi bedre (medmindre modellen overfitter). Du kan finde R-squared i summary()
-tabellen for sm.OLS
-klassen.
Tak for dine kommentarer!