R-Kwadraat
Wat is R-kwadraat
We hebben enkele van de meest gebruikte metriek voor regressie besproken in het hoofdstuk Metrieken. Dit zijn MSE, RMSE en MAE. Deze zijn geschikt voor het vergelijken van modellen, maar wanneer u één model bouwt, is het niet altijd duidelijk of dit een goede score is voor uw dataset of dat u verder moet zoeken naar andere modellen.
Gelukkig is er een metriek genaamd R-kwadraat die de prestaties van het model meet op een schaal van 0 tot 1. R-kwadraat berekent het aandeel van de variantie van de target dat door het model wordt verklaard.
Het probleem is dat we de verklaarde variantie niet direct kunnen berekenen. Maar we kunnen de onverklaarde variantie berekenen, dus we herschrijven de bovenstaande vergelijking als volgt:
Totale variantie
De totale variantie is simpelweg de variantie van de target, en we kunnen de variantie van de target berekenen met behulp van de steekproefvariantieformule uit de statistiek (ȳ is het gemiddelde van de target):
Hier volgt een voorbeeld met visualisatie. Verschillen tussen de werkelijke targetwaarde en het gemiddelde van de target zijn oranje gekleurd. Net als bij het berekenen van SSR nemen we de lengte van elke oranje lijn, kwadrateren deze en tellen het op bij de som, maar nu delen we het resultaat ook door m-1. In dit geval is de totale variantie 11.07.
Onverklaarde variantie
Nu moeten we de variantie berekenen die niet door het model wordt verklaard. Als het model de volledige variantie zou verklaren, zouden alle punten op de getrokken regressielijn liggen. Dat is zelden het geval, dus willen we de variantie van de target berekenen, maar nu ten opzichte van de regressielijn in plaats van het gemiddelde. We gebruiken dezelfde formule, maar vervangen ȳ door de voorspellingen van het model.
Hier is een voorbeeld met visualisatie:
Nu weten we alles om de R-kwadraat te berekenen:
We hebben een R-kwadraat score van 0,92 behaald, wat dicht bij 1 ligt, dus we hebben een uitstekend model. We zullen ook de R-kwadraat voor nog een model berekenen.
De R-kwadraat is lager omdat het model de data enigszins onderfit.
R-kwadraat in Python
De sm.OLS-klasse berekent de R-kwadraat voor ons. Deze is te vinden in de summary()-tabel hier.
Samengevat is R-kwadraat een maatstaf voor regressie. De waarde ligt tussen 0 en 1. In tegenstelling tot andere maatstaven zoals MSE/MAE is een hogere waarde beter (tenzij het model overfit). De R-kwadraat is te vinden in de summary()-tabel van de sm.OLS-klasse.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 5.26
R-Kwadraat
Veeg om het menu te tonen
Wat is R-kwadraat
We hebben enkele van de meest gebruikte metriek voor regressie besproken in het hoofdstuk Metrieken. Dit zijn MSE, RMSE en MAE. Deze zijn geschikt voor het vergelijken van modellen, maar wanneer u één model bouwt, is het niet altijd duidelijk of dit een goede score is voor uw dataset of dat u verder moet zoeken naar andere modellen.
Gelukkig is er een metriek genaamd R-kwadraat die de prestaties van het model meet op een schaal van 0 tot 1. R-kwadraat berekent het aandeel van de variantie van de target dat door het model wordt verklaard.
Het probleem is dat we de verklaarde variantie niet direct kunnen berekenen. Maar we kunnen de onverklaarde variantie berekenen, dus we herschrijven de bovenstaande vergelijking als volgt:
Totale variantie
De totale variantie is simpelweg de variantie van de target, en we kunnen de variantie van de target berekenen met behulp van de steekproefvariantieformule uit de statistiek (ȳ is het gemiddelde van de target):
Hier volgt een voorbeeld met visualisatie. Verschillen tussen de werkelijke targetwaarde en het gemiddelde van de target zijn oranje gekleurd. Net als bij het berekenen van SSR nemen we de lengte van elke oranje lijn, kwadrateren deze en tellen het op bij de som, maar nu delen we het resultaat ook door m-1. In dit geval is de totale variantie 11.07.
Onverklaarde variantie
Nu moeten we de variantie berekenen die niet door het model wordt verklaard. Als het model de volledige variantie zou verklaren, zouden alle punten op de getrokken regressielijn liggen. Dat is zelden het geval, dus willen we de variantie van de target berekenen, maar nu ten opzichte van de regressielijn in plaats van het gemiddelde. We gebruiken dezelfde formule, maar vervangen ȳ door de voorspellingen van het model.
Hier is een voorbeeld met visualisatie:
Nu weten we alles om de R-kwadraat te berekenen:
We hebben een R-kwadraat score van 0,92 behaald, wat dicht bij 1 ligt, dus we hebben een uitstekend model. We zullen ook de R-kwadraat voor nog een model berekenen.
De R-kwadraat is lager omdat het model de data enigszins onderfit.
R-kwadraat in Python
De sm.OLS-klasse berekent de R-kwadraat voor ons. Deze is te vinden in de summary()-tabel hier.
Samengevat is R-kwadraat een maatstaf voor regressie. De waarde ligt tussen 0 en 1. In tegenstelling tot andere maatstaven zoals MSE/MAE is een hogere waarde beter (tenzij het model overfit). De R-kwadraat is te vinden in de summary()-tabel van de sm.OLS-klasse.
Bedankt voor je feedback!