Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für eine Ridge-Regression in Python

Beispiel für eine Ridge-Regression in Python

WBOY
WBOYOriginal
2023-06-10 22:39:521243Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn