Hoe aangepaste r-kwadraat in python te berekenen


R-kwadraat , vaak geschreven als R2 , is het deel van de variantie in de responsvariabele dat kan worden verklaard door de voorspellende variabelen in een lineair regressiemodel .

De waarde van R kwadraat kan variëren van 0 tot 1. Een waarde van 0 geeft aan dat de responsvariabele helemaal niet kan worden verklaard door de voorspellende variabele, terwijl een waarde van 1 aangeeft dat de responsvariabele kan worden verklaard door de voorspellende variabele. perfect uitgelegd zonder fouten door de voorspeller. variabelen.

Aangepaste R-kwadraat is een aangepaste versie van R-kwadraat die zich aanpast aan het aantal voorspellers in een regressiemodel. Het wordt als volgt berekend:

Aangepaste R 2 = 1 – [(1-R 2 )*(n-1)/(nk-1)]

Goud:

  • R 2 : De R 2 van het model
  • n : Het aantal waarnemingen
  • k : het aantal voorspellende variabelen

Omdat R2 altijd toeneemt naarmate u voorspellers aan een model toevoegt, kan aangepaste R2 dienen als een metriek die u vertelt hoe nuttig een model is, aangepast op basis van het aantal voorspellers in een model .

Deze tutorial toont twee voorbeelden van het berekenen van aangepaste R2 voor een regressiemodel in Python.

Gerelateerd: Wat is een goede R-kwadraatwaarde?

Voorbeeld 1: bereken het aangepaste R-kwadraat met sklearn

De volgende code laat zien hoe u een meervoudig lineair regressiemodel past en hoe u het aangepaste R-kwadraat van het model berekent met behulp van sklearn:

 from sklearn. linear_model import LinearRegression
import pandas as pd

#define URL where dataset is located
url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/mtcars.csv"

#read in data
data = pd. read_csv (url)

#fit regression model
model = LinearRegression ()
x, y = data[["mpg", "wt", "drat", "qsec"]], data.hp
model. fit (x,y)

#display adjusted R-squared
1 - (1-model. score (X, y))*( len (y)-1)/( len (y)-X. shape [1]-1)

0.7787005290062521

De aangepaste R-kwadraat van het model blijkt 0,7787 te zijn.

Voorbeeld 2: Bereken het aangepaste R-kwadraat met statistische modellen

De volgende code laat zien hoe u een meervoudig lineair regressiemodel past en hoe u het aangepaste R-kwadraat van het model berekent met behulp van statsmodels:

 import statsmodels. api as sm
import pandas as pd

#define URL where dataset is located
url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/mtcars.csv"

#read in data
data = pd. read_csv (url)

#fit regression model
x, y = data[["mpg", "wt", "drat", "qsec"]], data.hp
X = sm. add_constant (X)
model = sm. OLS (y,x). fit ()

#display adjusted R-squared
print ( model.rsquared_adj )

0.7787005290062521

De aangepaste R-kwadraat van het model blijkt 0,7787 te zijn, wat overeenkomt met het resultaat van het vorige voorbeeld.

Aanvullende bronnen

Hoe eenvoudige lineaire regressie uit te voeren in Python
Hoe u meerdere lineaire regressies uitvoert in Python
Hoe AIC van regressiemodellen in Python te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert