R-kvadrert
Sveip for å vise menyen
Hva er R-kvadrat
Vi har allerede gjennomgått MSE, RMSE og MAE. Disse hjelper med å sammenligne modeller, men en enkelt score er vanskelig å vurdere uten kontekst. Du vet kanskje ikke om verdien er "god nok" for datasettet ditt.
R-kvadrat løser dette ved å måle hvor mye av variasjonen i målet modellen forklarer. Verdien går fra 0 til 1, noe som gjør tolkningen enkel.
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):
I eksempelet blir forskjellene mellom faktiske verdier og målmiddelverdien (oransje linjer) kvadrert og summert, deretter delt på m−1, noe som gir en total varians på 11,07.
Uforklart varians
Deretter beregner vi variansen modellen ikke forklarer. Hvis prediksjonene var perfekte, ville alle punktene ligget nøyaktig på regresjonslinjen. Vi bruker samme variansformel, men erstatter ȳ med predikerte verdier.
Her er et eksempel med visualisering:
Nå vet vi alt som trengs for å beregne R-kvadrert:
Vi fikk en R-kvadrert verdi på 0,92, som er nær 1, så vi har en god modell. Vi skal også beregne R-kvadrert for én modell til.
R-kvadrert er lavere siden modellen underfitter dataene litt.
R-kvadrat i Python
sm.OLS-klassen beregner R-kvadrat for oss. Vi finner det i summary()-tabellen her.
R-kvadrat varierer fra 0 til 1, og høyere verdi er bedre (med mindre modellen overtilpasser). summary()-utdata fra sm.OLS inkluderer R-kvadrat-verdien.
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