Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære R-kvadreret | Valg af den Bedste Model
Lineær Regression med Python
course content

Kursusindhold

Lineær Regression med Python

Lineær Regression med Python

1. Simpel Lineær Regression
2. Multipel Lineær Regression
3. Polynomiel Regression
4. Valg af den Bedste Model

book
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.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

course content

Kursusindhold

Lineær Regression med Python

Lineær Regression med Python

1. Simpel Lineær Regression
2. Multipel Lineær Regression
3. Polynomiel Regression
4. Valg af den Bedste Model

book
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.

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3
some-alt