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

Beispiel für eine multivariable lineare Regression in Python

王林
王林Original
2023-06-10 13:57:151421Durchsuche

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!

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