Im Bereich des maschinellen Lernens ist die lineare Regression eine häufig verwendete Methode. Die multivariable lineare Regression ist eine Methode, die die lineare Beziehung zwischen einer oder mehreren unabhängigen Variablen und einer abhängigen Variablen vorhersagen kann. Sie wird normalerweise zur Vorhersage von Markttrends wie Immobilien- und Aktienpreisen verwendet.
Python ist eine sehr beliebte Programmiersprache, die leicht zu erlernen, zu schreiben und zu debuggen ist. In Python können multivariable lineare Regressionsmodelle mithilfe der Scikit-learn-Bibliothek einfach implementiert werden.
In diesem Artikel stellen wir die multivariable lineare Regression in Python anhand eines Beispiels für die Vorhersage von Immobilienpreisen vor.
Bibliotheken und Daten importieren
Um das multivariable lineare Regressionsmodell zu implementieren, müssen wir einige Python-Bibliotheken importieren:
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error
Die hier verwendeten Daten stammen aus dem Bostoner Immobiliendatensatz auf der Kaggle-Website. Wir können die Funktion read_csv in der Pandas-Bibliothek verwenden, um Daten aus der Datendatei zu lesen:
data = pd.read_csv('Boston.csv')
Exploration und Visualisierung von Daten
Bevor wir das Modell erstellen, sollten wir die Daten untersuchen, um die Verteilung jedes Features und die Beziehungen zwischen Features zu verstehen Beziehung.
Wir können die Funktion „beschreiben“ und „korr“ in der Pandas-Bibliothek verwenden, um die Merkmalsverteilung der Daten und die Korrelation zwischen Merkmalen zu verstehen. Unter anderem gibt die Funktion corr die Korrelationskoeffizientenmatrix zwischen jedem Merkmal und anderen Merkmalen zurück.
print(data.describe()) print(data.corr())
Wir können auch die Matplotlib-Bibliothek verwenden, um die Daten zu visualisieren. Zeichnen Sie beispielsweise ein Streudiagramm zwischen zwei Funktionen:
plt.scatter(data['RM'], data['Price']) plt.title('House Price vs Number of Rooms') plt.xlabel('Number of Rooms') plt.ylabel('Price') plt.show()
Datenvorverarbeitung und Modelltraining
Um ein multivariates lineares Regressionsmodell zu trainieren, müssen wir die Daten in zwei Teile aufteilen: Trainingssatz und Testsatz. Wir können die Funktion train_test_split in der Scikit-learn-Bibliothek verwenden, um den Datensatz zufällig in einen Trainingssatz und einen Testsatz aufzuteilen:
X = data.drop(['Price'], axis=1) y = data['Price'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
Als nächstes können wir die Funktion LinearRegression in der Scikit-learn-Bibliothek verwenden, um die multivariable lineare Regression zu initialisieren Modellieren und Trainingssatz verwenden, um das Modell anzupassen:
model = LinearRegression() model.fit(X_train, y_train)
Bewertung und Vorhersage des Modells
Um die Leistung des Modells zu bewerten, können wir den Testsatz zur Vorhersage von Immobilienpreisen verwenden und den mittleren quadratischen Fehler (MSE) zur Messung verwenden Die Vorhersageergebnisse werden mit den tatsächlichen Unterschieden zwischen den Ergebnissen verglichen. Wir können die Funktion „mean_squared_error“ in der Scikit-learn-Bibliothek verwenden, um die durchschnittliche Varianz der Vorhersageergebnisse zu berechnen:
y_pred = model.predict(X_test) mse = mean_squared_error(y_test, y_pred) print(mse)
Wenn der Wert der durchschnittlichen Varianz kleiner ist, bedeutet dies, dass die Modellvorhersageergebnisse genauer sind.
Schließlich können wir das Modell verwenden, um die Preise für neue Häuser vorherzusagen. Wir möchten beispielsweise den Preis eines Hauses vorhersagen, das über 6 Zimmer und 2 Badezimmer verfügt, 7,2 km von einem Geschäftsviertel entfernt ist usw. Wir können die Werte dieser Merkmale in das Modell eingeben und die Vorhersagefunktion des Modells verwenden, um den Preis des Hauses vorherzusagen:
new_data = np.array([[6, 2, 4.5, 0, 0.4, 6, 79, 6.1, 5, 331, 17, 385, 11.3]]) new_prediction = model.predict(new_data) print(new_prediction)
Der vorhergesagte Preis dieses Hauses beträgt ungefähr 239.000 $.
Zusammenfassung
In diesem Artikel haben wir vorgestellt, wie man ein multivariables lineares Regressionsmodell in Python mithilfe der LinearRegression-Funktion der Scikit-learn-Bibliothek implementiert. Wir verwenden den Bostoner Immobiliendatensatz als Beispiel, um die Schritte des Datenimports, der Exploration, der Visualisierung, der Vorverarbeitung sowie des Modelltrainings, der Bewertung und der Vorhersage zu veranschaulichen. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die Methode der multivariablen linearen Regression in Python besser zu beherrschen.
Das obige ist der detaillierte Inhalt vonBeispiel für eine multivariable lineare Regression in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!