Zum Inhalt springen

Multiple Regression

In diesem Artikel werden wir uns mit der multiplen linearen Regression beschäftigen, einer leistungsstarken Machine-Learning-Technik zur Vorhersage kontinuierlicher numerischer Werte auf Basis mehrerer Prädiktorvariablen. Mit Hilfe von Python werden wir ein Modell aufbauen und analysieren, das ein numerisches Ergebnis auf Grundlage mehrerer Eingangsmerkmale vorhersagen kann.

Was ist multiple lineare Regression?

Die lineare Regression ist eine Technik zur Modellierung der Beziehung zwischen einer abhängigen Variable und einer oder mehreren unabhängigen Variablen. Wenn es nur eine unabhängige Variable gibt, spricht man von einfacher linearer Regression. Wenn es jedoch mehrere unabhängige Variablen gibt, wird sie als multiple lineare Regression bezeichnet.

Ziel der multiplen linearen Regression ist es, die Gerade der besten Anpassung zu finden, die die abhängige Variable auf Basis der unabhängigen Variablen vorhersagt. Diese Gerade wird durch Minimierung der Summe der quadrierten Abstände zwischen den beobachteten und den vorhergesagten Werten bestimmt. Die Koeffizienten der Geraden repräsentieren die Beziehung zwischen jeder unabhängigen Variable und der abhängigen Variable, während der Achsenabschnitt den erwarteten Wert der abhängigen Variable darstellt, wenn alle unabhängigen Variablen null sind.

Der Datensatz

Um multiple lineare Regression zu veranschaulichen, verwenden wir den California Housing-Datensatz, der Informationen über Wohnimmobilien in Kalifornien enthält. Der Datensatz umfasst 20.640 Stichproben und 8 Merkmale, wobei der Medianwert der Häuser (in 100.000 $) als abhängige Variable dient.

python
from sklearn.datasets import fetch_california_housing

housing = fetch_california_housing()
X = housing.data
y = housing.target
feature_names = housing.feature_names

Datenvorverarbeitung

Bevor wir das Modell aufbauen können, müssen wir die Daten vorverarbeiten. Dazu gehören das Aufteilen in Trainings- und Testdaten sowie das Skalieren der Merkmale, um sicherzustellen, dass sie gleichmäßig zum Modell beitragen.

python
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Scale features
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

Modellaufbau

Nachdem die Daten vorverarbeitet wurden, können wir nun das multiple lineare Regressionsmodell aufbauen. Wir verwenden die Klasse LinearRegression aus scikit-learn, die eine einfache und effiziente Möglichkeit zur Implementierung des Algorithmus bietet.

python
from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train_scaled, y_train)

Die Methode .fit() berechnet die optimalen Koeffizienten, die die Residualquadratsumme minimieren.

Modellbewertung

Um die Leistung des Modells zu bewerten, verwenden wir zwei Metriken: den mittleren quadratischen Fehler (MSE) und das Bestimmtheitsmaß (R²).

python
from sklearn.metrics import mean_squared_error, r2_score

y_pred = model.predict(X_test_scaled)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"Mean Squared Error: {mse:.4f}")
print(f"R-squared: {r2:.4f}")

MSE misst die durchschnittliche quadrierte Differenz zwischen vorhergesagten und tatsächlichen Werten, während R² den Anteil der Varianz in der abhängigen Variable angibt, der durch das Modell erklärt wird.

Interpretation der Modellkoeffizienten

Die Koeffizienten des Modells repräsentieren die Beziehung zwischen jeder unabhängigen Variable und der abhängigen Variable. Ein positiver Koeffizient zeigt an, dass die Variable einen positiven Einfluss auf die abhängige Variable hat, während ein negativer Koeffizient das Gegenteil bedeutet.

python
for name, coef in zip(feature_names, model.coef_):
    print(f"{name}: {coef:.4f}")

Durch die Betrachtung dieser Werte können Sie bestimmen, welche Merkmale den stärksten Einfluss auf die Zielvariable haben.

Fazit

In diesem Artikel haben wir das Konzept der multiplen linearen Regression sowie deren Anwendung zur Vorhersage kontinuierlicher numerischer Ergebnisse auf Basis mehrerer Prädiktorvariablen erläutert. Wir haben Python und die scikit-learn-Bibliothek verwendet, um ein multiples lineares Regressionsmodell mit dem California Housing-Datensatz aufzubauen und zu bewerten. Die Ergebnisse zeigen, dass das Modell die Medianhauswerte mit angemessener Genauigkeit vorhersagen kann, und die Koeffizienten geben Aufschluss über die Beziehung zwischen den unabhängigen und der abhängigen Variable.

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.