Ridge-Regression ist eine häufig verwendete lineare Regressionsmethode. Sie kann bei der Behandlung von Multikollinearitätsproblemen bessere Ergebnisse erzielen als die gewöhnliche Regression der kleinsten Quadrate und kann auch zur Merkmalsauswahl verwendet werden.
Python ist eine leistungsstarke Programmiersprache und es ist sehr praktisch, Python für die Ridge-Regressionsanalyse zu verwenden. In diesem Artikel wird anhand eines Beispiels erläutert, wie Sie mit Python eine Ridge-Regressionsanalyse durchführen.
Zuerst müssen wir die erforderlichen Bibliotheken importieren, wie unten gezeigt:
import pandas as pd import numpy as np from sklearn.linear_model import Ridge from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error
Die in diesem Beispiel verwendeten Daten sind Bostoner Immobilienpreisdaten. Dieser Datensatz enthält Informationen zu 13 verschiedenen Eigenschaften und Preisen von Häusern im Raum Boston 1970er Jahre. Wir können die Daten über die Funktion read_csv in der Pandas-Bibliothek einlesen, wie unten gezeigt:
data = pd.read_csv('Boston.csv')
Als nächstes müssen wir den Datensatz in einen Trainingssatz und einen Testsatz aufteilen. Dies kann mit der Funktion train_test_split in der Scikit-Learn-Bibliothek erreicht werden, wie unten gezeigt:
X = data.iloc[:, :-1].values y = data.iloc[:, -1].values X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
Vor dem Training des Ridge-Regressionsmodells müssen wir die Daten normalisieren, um sicherzustellen, dass sie verwendet werden können, wenn die Wertebereiche verschiedener Merkmale unterschiedlich sind sehr unterschiedlich. Vergleichen Sie ihre Auswirkungen auf die Zielvariable. Wir können die StandardScaler-Funktion in der scikit-learn-Bibliothek zur Standardisierung verwenden. Der Code lautet wie folgt:
from sklearn.preprocessing import StandardScaler sc_X = StandardScaler() X_train = sc_X.fit_transform(X_train) X_test = sc_X.transform(X_test)
Dann können wir ein Ridge-Regressionsmodell definieren und es zum Training in unseren Trainingsdatensatz einfügen. Der Code lautet wie folgt:
ridge = Ridge(alpha=0.1) ridge.fit(X_train, y_train)
Der Alpha-Wert ist ein Hyperparameter und das Modell muss durch Anpassen der Parameter optimiert werden. Wir können die optimalen Hyperparameter auswählen, indem wir die Vorhersagen der Trainings- und Testsätze auswerten. In diesem Beispiel führen wir eine Kreuzvalidierung des Alpha-Werts durch, um die optimalen Hyperparameter auszuwählen. Der Code lautet wie folgt:
from sklearn.model_selection import GridSearchCV ridge_params = {'alpha': [0.001, 0.01, 0.1, 1, 10]} ridge_grid = GridSearchCV(estimator=Ridge(), param_grid=ridge_params, cv=10, scoring='neg_mean_squared_error') ridge_grid.fit(X_train, y_train) print("Best alpha:", ridge_grid.best_params_['alpha'])
Durch Kreuzvalidierung wählen wir den optimalen Alpha-Wert mit 0,1.
Als nächstes können wir Vorhersagen zum Testsatz treffen und die Vorhersageergebnisse auswerten. Wir können den mittleren quadratischen Fehler mithilfe der Funktion „mean_squared_error“ in der Scikit-Learn-Bibliothek berechnen. Der Code lautet wie folgt:
y_pred = ridge.predict(X_test) mse = mean_squared_error(y_test, y_pred) print("Mean Squared Error:", mse)
Schließlich können wir die Matplotlib-Bibliothek verwenden, um zum besseren Verständnis ein Streudiagramm der vorhergesagten und wahren Werte zu zeichnen der Modellvorhersageeffekt. Der Code lautet wie folgt:
import matplotlib.pyplot as plt plt.scatter(y_test, y_pred) plt.xlabel("True Values") plt.ylabel("Predictions") plt.show()
Kurz gesagt, die Ridge-Regressionsanalyse in Python ist sehr praktisch und die Verwendung der Funktionen der scikit-learn-Bibliothek kann uns dabei helfen, die Vorhersageergebnisse einfach auszuwerten und zu visualisieren.
Das obige ist der detaillierte Inhalt vonBeispiel für eine Ridge-Regression in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!