Maison  >  Article  >  développement back-end  >  Exemple de régression linéaire multivariable en Python

Exemple de régression linéaire multivariable en Python

王林
王林original
2023-06-10 13:57:151369parcourir

Dans le domaine du machine learning, la régression linéaire est une méthode couramment utilisée. La régression linéaire multivariée est une méthode qui peut prédire la relation linéaire entre une ou plusieurs variables indépendantes et une variable dépendante. Elle est généralement utilisée pour prédire les tendances du marché telles que l'immobilier et les cours boursiers.

Python est un langage de programmation très populaire, facile à apprendre, à écrire et à déboguer. En Python, les modèles de régression linéaire multivariée peuvent être facilement implémentés à l'aide de la bibliothèque Scikit-learn.

Dans cet article, nous présenterons la régression linéaire multivariée en Python à travers un exemple de prévision du prix de l'immobilier.

Importer des bibliothèques et des données

Afin d'implémenter le modèle de régression linéaire multivariable, nous devons importer certaines bibliothèques Python :

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

Les données utilisées ici proviennent de l'ensemble de données immobilières de Boston sur le site Kaggle. Nous pouvons utiliser la fonction read_csv de la bibliothèque Pandas pour lire les données du fichier de données :

data = pd.read_csv('Boston.csv')

Exploration et visualisation des données

Avant de construire le modèle, nous devons explorer les données pour comprendre la distribution de chaque fonctionnalité et les relations entre les fonctionnalités relation.

Nous pouvons utiliser la fonction décrire et la fonction corr dans la bibliothèque Pandas pour comprendre la distribution des caractéristiques des données et la corrélation entre les caractéristiques. Parmi eux, la fonction corr renvoie la matrice des coefficients de corrélation entre chaque fonctionnalité et d'autres fonctionnalités.

print(data.describe())
print(data.corr())

Nous pouvons également utiliser la bibliothèque Matplotlib pour visualiser les données. Par exemple, dessinez un nuage de points entre deux fonctionnalités :

plt.scatter(data['RM'], data['Price'])
plt.title('House Price vs Number of Rooms')
plt.xlabel('Number of Rooms')
plt.ylabel('Price')
plt.show()

Prétraitement des données et formation du modèle

Afin de former un modèle de régression linéaire multivariée, nous devons diviser les données en deux parties : l'ensemble d'entraînement et l'ensemble de test. Nous pouvons utiliser la fonction train_test_split dans la bibliothèque Scikit-learn pour diviser aléatoirement l'ensemble de données en un ensemble d'entraînement et un ensemble de test :

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)

Ensuite, nous pouvons utiliser la fonction LinearRegression dans la bibliothèque Scikit-learn pour initialiser la régression linéaire multivariable. modélisez et utilisez l'ensemble de formation pour ajuster le modèle :

model = LinearRegression()
model.fit(X_train, y_train)

Évaluation et prédiction du modèle

Pour évaluer les performances du modèle, nous pouvons utiliser l'ensemble de test pour prédire les prix de l'immobilier et utiliser l'erreur quadratique moyenne (MSE) pour mesurer les résultats de la prédiction par rapport aux différences réelles entre les résultats. Nous pouvons utiliser la fonction mean_squared_error dans la bibliothèque Scikit-learn pour calculer la variance moyenne des résultats de prédiction :

y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(mse)

Si la valeur de la variance moyenne est petite, cela signifie que les résultats de prédiction du modèle sont plus précis.

Enfin, nous pouvons utiliser le modèle pour prédire les prix des logements neufs. Par exemple, nous voulons prédire le prix d'une maison qui comprend 6 chambres, 2 salles de bain, se trouve à 7,2 km d'un quartier d'affaires, etc. Nous pouvons saisir les valeurs de ces caractéristiques dans le modèle et utiliser la fonction de prédiction du modèle pour prédire le prix de la maison :

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)

Le prix prévu de cette maison est d'environ 239 000 $.

Résumé

Dans cet article, nous avons présenté comment implémenter un modèle de régression linéaire multivariable en Python à l'aide de la fonction LinearRegression de la bibliothèque Scikit-learn. Nous utilisons l'ensemble de données immobilières de Boston comme exemple pour illustrer les étapes d'importation, d'exploration, de visualisation, de prétraitement et de formation, d'évaluation et de prédiction des modèles. J'espère que cet article pourra aider les lecteurs à mieux maîtriser la méthode de régression linéaire multivariable en Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn