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

Einführung in die einfache lineare Regression
Einführung in die multiple lineare Regression

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: