Beispiel für lokal gewichtete Regression in Python
Lokal gewichtete Regression ist eine nichtparametrische Regressionsmethode, die keine festen Parameter für die Regression verwendet, sondern automatisch eine Regression basierend auf Beispieldaten durchführt. Aufgrund dieser adaptiven Eigenschaft wird die lokal gewichtete Regression häufig in Bereichen wie der Regressionsanalyse und der Zeitreihenvorhersage eingesetzt.
In Python kann eine lokal gewichtete Regressionsanalyse mithilfe des LOWESS-Algorithmus (Local Weighted Scatterplot Smoothing) im scikit-learn-Paket durchgeführt werden. In diesem Artikel stellen wir die Verwendung von Python zur Implementierung des LOWESS-Algorithmus vor und verwenden Beispiele zur Demonstrationsanalyse.
Die folgenden Schritte sind zum Implementieren der lokal gewichteten Regression mit Python erforderlich:
Um die lokal gewichtete Regression in Python zu implementieren, verwenden Sie Bibliotheken wie Numpy, Pandas, Matplotlib.pyplot und Sklearn.neighbors.
Verwenden Sie die Pandas-Bibliothek, um die Daten zu lesen und die Daten als X und Y vorzubereiten. Unter diesen ist X die unabhängige Variable und y die abhängige Variable.
Standardisieren Sie die X- und Y-Daten. Dadurch können Messunterschiede zwischen Daten beseitigt, die Daten vor der Modellierung um den Nullpunkt zentriert und der Einfluss der Größenordnung verringert werden.
Verwenden Sie die LocallyWeightedRegression-Klasse in der sklearn.neighbors-Bibliothek, um das Modell anzupassen. Bei Verwendung dieser Methode müssen zwei Hyperparameter angegeben werden: Bandbreite und Gewichtsfunktion. In den meisten Fällen liefern kleinere Bandbreitenwerte genauere Modelle, sind aber auch rechenintensiver.
Verwenden Sie die Vorhersagemethode des local_weighted_regression-Objekts, um die abhängige Variable vorherzusagen, die der neu eingegebenen unabhängigen Variablen entspricht.
Schauen wir uns als Nächstes ein Beispiel einer lokal gewichteten Regression an.
Beispiel 1: Hauspreisvorhersage basierend auf Bevölkerungsdaten
Wir verwenden den Bostoner Hauspreisdatensatz in der UCI-Datenbank für die Modellanpassung und -vorhersage. Der Datensatz enthält 506 Stichproben und 13 unabhängige Variablen, darunter städtische Kriminalitätsrate pro Kopf (CRIM), Anteil der Eigenheime vor 1940 nach dem Bau (ZN), Stickoxidkonzentration (NOX), Anzahl der Zimmer pro Kopf (RM). )Warten.
Lesen Sie Boston Housing Preisdatensatz
data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data', header = None, sep = 's+')
Geben Sie Datensatz in Trainingssatz und Testsatz
plt.scatter(X_test[:,5], y_pred, color='blue ')
plt.xlabel('Anzahl der Zimmer')plt.ylabel('Preis')
plt.title('Der Preis der Häuser')plt.show()
Gemäß der visuellen Grafik können wir Stellen Sie sicher, dass die Vorhersageergebnisse des Modells den wahren Werten im Testsatz sehr nahe kommen. Dies zeigt, dass das lokal gewichtete Regressionsmodell die Immobilienpreise genau vorhersagen kann.
Das obige ist der detaillierte Inhalt vonBeispiel für eine lokal gewichtete Regression in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!