R-kvadrat
Hva er R-kvadrat
Vi har dekket noen av de mest brukte metrikkene for regresjon i Metrikker-kapitlet. Dette er MSE, RMSE og MAE. De egner seg godt til å sammenligne modeller, men når du bygger én modell, forstår du ikke alltid om det er en god score for datasettet ditt, eller om du bør prøve andre modeller.
Heldigvis finnes det en metrikk kalt R-kvadrat som måler modellens ytelse på en skala fra 0 til 1. R-kvadrat beregner andelen av variasjonen i målet som forklares av modellen.
Problemet er at vi ikke kan beregne forklart varians direkte. Men vi kan beregne uforklart varians, så vi omformer ligningen ovenfor til:
Total varians
Total varians er bare variansen til målet, og vi kan beregne variansen til målet ved å bruke formelen for utvalgsvarians fra statistikk (ȳ er gjennomsnittet til målet):
Her er et eksempel med visualisering. Forskjellene mellom den faktiske målverdien og målets gjennomsnitt er farget oransje. Akkurat som ved beregning av SSR, tar vi lengden på hver oransje linje, kvadrerer den og legger den til summen, men nå deler vi også resultatet på m-1. Her fikk vi en total varians på 11.07.
Uforklart varians
Nå må vi beregne variansen som ikke forklares av modellen. Hvis modellen forklarte hele variansen, ville alle punktene ligget på regresjonslinjen. Det er sjelden tilfelle, så vi ønsker å beregne variansen til målet, men nå med hensyn til regresjonslinjen i stedet for gjennomsnittet. Vi bruker samme formel, men erstatter ȳ med modellens prediksjoner.
Her er et eksempel med visualisering:
Nå vet vi alt som trengs for å beregne R-kvadrat:
Vi fikk en R-kvadrat-verdi på 0,92, som er nær 1, så vi har en god modell. Vi skal også beregne R-kvadrat for én modell til.
R-kvadrert er lavere siden modellen undertilpasser dataene noe.
R-kvadrert i Python
sm.OLS
-klassen beregner R-kvadrert for oss. Vi finner det i summary()
-tabellen her.
Oppsummert er R-kvadrert et mål for regresjon. Det kan ha verdier fra 0 til 1. I motsetning til andre mål som MSE/MAE, er en høyere verdi bedre (med mindre modellen overtilpasser). Du finner R-kvadrert i summary()
-tabellen til sm.OLS
-klassen.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain what a good R-squared value is?
How does R-squared compare to other regression metrics like MSE or MAE?
Can R-squared ever be negative?
Awesome!
Completion rate improved to 5.26
R-kvadrat
Sveip for å vise menyen
Hva er R-kvadrat
Vi har dekket noen av de mest brukte metrikkene for regresjon i Metrikker-kapitlet. Dette er MSE, RMSE og MAE. De egner seg godt til å sammenligne modeller, men når du bygger én modell, forstår du ikke alltid om det er en god score for datasettet ditt, eller om du bør prøve andre modeller.
Heldigvis finnes det en metrikk kalt R-kvadrat som måler modellens ytelse på en skala fra 0 til 1. R-kvadrat beregner andelen av variasjonen i målet som forklares av modellen.
Problemet er at vi ikke kan beregne forklart varians direkte. Men vi kan beregne uforklart varians, så vi omformer ligningen ovenfor til:
Total varians
Total varians er bare variansen til målet, og vi kan beregne variansen til målet ved å bruke formelen for utvalgsvarians fra statistikk (ȳ er gjennomsnittet til målet):
Her er et eksempel med visualisering. Forskjellene mellom den faktiske målverdien og målets gjennomsnitt er farget oransje. Akkurat som ved beregning av SSR, tar vi lengden på hver oransje linje, kvadrerer den og legger den til summen, men nå deler vi også resultatet på m-1. Her fikk vi en total varians på 11.07.
Uforklart varians
Nå må vi beregne variansen som ikke forklares av modellen. Hvis modellen forklarte hele variansen, ville alle punktene ligget på regresjonslinjen. Det er sjelden tilfelle, så vi ønsker å beregne variansen til målet, men nå med hensyn til regresjonslinjen i stedet for gjennomsnittet. Vi bruker samme formel, men erstatter ȳ med modellens prediksjoner.
Her er et eksempel med visualisering:
Nå vet vi alt som trengs for å beregne R-kvadrat:
Vi fikk en R-kvadrat-verdi på 0,92, som er nær 1, så vi har en god modell. Vi skal også beregne R-kvadrat for én modell til.
R-kvadrert er lavere siden modellen undertilpasser dataene noe.
R-kvadrert i Python
sm.OLS
-klassen beregner R-kvadrert for oss. Vi finner det i summary()
-tabellen her.
Oppsummert er R-kvadrert et mål for regresjon. Det kan ha verdier fra 0 til 1. I motsetning til andre mål som MSE/MAE, er en høyere verdi bedre (med mindre modellen overtilpasser). Du finner R-kvadrert i summary()
-tabellen til sm.OLS
-klassen.
Takk for tilbakemeldingene dine!