So berechnen Sie das angepasste R-Quadrat in Python

Von Fabian
Kategorie: Python
Tags: Regression
Lesezeit: 2 Minuten

R-Quadrat, oft R 2 geschrieben, ist der Anteil der Varianz in der Antwortvariablen, der durch die Prädiktorvariablen in einem linearen Regressionsmodell erklärt werden kann.

Der Wert für das R-Quadrat kann im Bereich von 0 bis 1 liegen. Ein Wert von 0 zeigt an, dass die Antwortvariable überhaupt nicht durch die Prädiktorvariable erklärt werden kann, während ein Wert von 1 angibt, dass die Antwortvariable vom Prädiktor fehlerfrei erklärt werden kann Variablen.

Das angepasste R-Quadrat ist eine modifizierte Version des R-Quadrats, die sich an die Anzahl der Prädiktoren in einem Regressionsmodell anpasst. Es wird berechnet als:

Angepasstes R2 = 1 - [(1-R 2 ) * (n-1) / (nk-1)]

wo:

  • R 2: Das R 2 des Modells
  • n: Die Anzahl der Beobachtungen
  • k: Die Anzahl der Prädiktorvariablen

Da R 2 immer zunimmt, wenn Sie einem Modell mehr Prädiktoren hinzufügen, kann das angepasste R 2 als Metrik dienen, die angibt, wie nützlich ein Modell ist, angepasst an die Anzahl der Prädiktoren in einem Modell.

Dieses Tutorial zeigt zwei Beispiele für die Berechnung des angepassten R 2 für ein Regressionsmodell in Python.

Verwandt: Was ist ein guter R-Quadrat-Wert?

Beispiel 1: Berechnen Sie das angepasste R-Quadrat mit sklearn

Der folgende Code zeigt, wie ein multiples lineares Regressionsmodell angepasst und das angepasste R-Quadrat des Modells mit sklearn berechnet wird:

from sklearn.linear_model import LinearRegression
import pandas as pd

# URL definieren, unter der sich das Dataset befindet
url = "https://raw.githubusercontent.com/Statology/Python-Guides/main/mtcars.csv"

# Daten lesen
data = pd.read_csv(url)

# Regressionsmodell anpassen
model = LinearRegression()
X, y = data[["mpg", "wt", "drat", "qsec"]], data.hp
model.fit(X, y)

# angepasstes R-Quadrat anzeigen
1 - (1-model.score(X, y))*(len(y)-1)/(len(y)-X.shape[1]-1)

0.7787005290062521

Das angepasste R-Quadrat des Modells beträgt 0,7787.

Beispiel 2: Berechnen Sie das angepasste R-Quadrat mit statsmodels

Der folgende Code zeigt, wie ein Modell mit mehreren linearen Regressionen angepasst und das angepasste R-Quadrat des Modells mithilfe von statsmodels berechnet wird:

import statsmodels.api as sm
import pandas as pd

# URL definieren, unter der sich das Dataset befindet
url = "https://raw.githubusercontent.com/Statology/Python-Guides/main/mtcars.csv"

# Daten lesen
data = pd.read_csv(url)

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

# angepasstes R-Quadrat anzeigen
print(model.rsquared_adj)

0.7787005290062521

Das angepasste R-Quadrat des Modells beträgt 0,7787, was dem Ergebnis des vorherigen Beispiels entspricht.

Zusätzliche Ressourcen

So führen Sie eine einfache lineare Regression in Python durch
Durchführen einer mehrfachen linearen Regression in Python

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: