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

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

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.

Awesome!

Completion rate improved to 5.26

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

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3
some-alt