Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer R-Kwadraat | Het Beste Model Kiezen
Lineaire Regressie Met Python
course content

Cursusinhoud

Lineaire Regressie Met Python

Lineaire Regressie Met Python

1. Eenvoudige Lineaire Regressie
2. Meervoudige Lineaire Regressie
3. Polynomiale Regressie
4. Het Beste Model Kiezen

book
R-Kwadraat

Wat is R-kwadraat

We hebben enkele van de meest gebruikte metriek voor regressie behandeld in het hoofdstuk Metrics. 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 wel 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 is 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. Hier hebben we een totale variantie van 11,07 verkregen.

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 getekende 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. We kunnen deze vinden in de summary()-tabel hier.

Samengevat is R-kwadraat een maatstaf voor regressie. Het kan waarden aannemen van 0 tot 1. In tegenstelling tot andere maatstaven zoals MSE/MAE, is een hogere waarde beter (tenzij het model overfit). Je vindt de R-kwadraat in de summary()-tabel van de sm.OLS-klasse.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Lineaire Regressie Met Python

Lineaire Regressie Met Python

1. Eenvoudige Lineaire Regressie
2. Meervoudige Lineaire Regressie
3. Polynomiale Regressie
4. Het Beste Model Kiezen

book
R-Kwadraat

Wat is R-kwadraat

We hebben enkele van de meest gebruikte metriek voor regressie behandeld in het hoofdstuk Metrics. 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 wel 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 is 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. Hier hebben we een totale variantie van 11,07 verkregen.

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 getekende 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. We kunnen deze vinden in de summary()-tabel hier.

Samengevat is R-kwadraat een maatstaf voor regressie. Het kan waarden aannemen van 0 tot 1. In tegenstelling tot andere maatstaven zoals MSE/MAE, is een hogere waarde beter (tenzij het model overfit). Je vindt de R-kwadraat in de summary()-tabel van de sm.OLS-klasse.

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3
some-alt