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

Beispiel für eine lokal gewichtete Regression in Python

WBOY
WBOYOriginal
2023-06-11 19:37:361523Durchsuche

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:

  1. Importieren Sie die erforderlichen Bibliotheken.

Um die lokal gewichtete Regression in Python zu implementieren, verwenden Sie Bibliotheken wie Numpy, Pandas, Matplotlib.pyplot und Sklearn.neighbors.

  1. Daten vorbereiten

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.

  1. Datenvorverarbeitung

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.

  1. Anpassen des Modells

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.

  1. Vorhergesagter Wert

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.

  1. Erforderliche Bibliotheken importieren. numpy als np importieren Bereiten Sie Daten vor

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

    aus sklearn.model_selection import train_test_split
  1. Werte im Testsatz im selben Diagramm
plt.scatter(X_test[:,5 ], y_test, color='red')

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!

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