Algorithme incontournable en Machine Learning, la régression linéaire permet d’établir des relations entre une ou plusieurs variables. Pour mettre en pratique cet algorithme en toute simplicité, les data scientists peuvent se tourner vers les langages de programmation, et notamment Python. Alors comment utiliser la régression linéaire avec Python ? DataScientest répond à la question.
Qu’est-ce que la régression linéaire ?
Avant de voir l’utilisation pratique de la régression linéaire avec Python, il convient de revenir aux bases.
Régression linéaire - Définition
Le modèle de régression linéaire est un algorithme d’apprentissage supervisé qui permet de prédire une variable cible continue (variable dépendante) grâce à une ou plusieurs variables explicatives (variables indépendantes ou prédictives). En d’autres termes, il s’agit d’établir les relations entre 2 ou plusieurs variables.
Lorsqu’il n’y a qu’une variable explicative, on parle de régression linéaire simple. En revanche, s’il y en a plusieurs, on parle de régression linéaire multiple.
Qu’elle soit simple ou multiple, la régression linéaire peut être utilisée avec Python.
Régression linéaire - traductions mathématiques
L’équation mathématique de la régression linéaire se traduit comme suit :
Y = Θ0 + Θ1x1 + ... Θnxn
Dans cette équation :
- Y correspond à la valeur explicative ;
- θ correspond au terme de biais ou vecteur de paramètres ;
- x1, x2…, xn correspondent aux valeurs des entités.
D’un point de vue visuel, la régression linéaire s’applique lorsque les données d’entraînement représentent un nuage de point. L’objectif est alors d’identifier la droite qui se rapproche le plus possible de l’ensemble de points. Pour être sûr que cette droite soit la plus précise possible, il convient de mesurer l’erreur quadratique moyenne (ou mean squared error).
Les cas d’utilisation de la régression linéaire
- Identifier les facteurs influençant la rentabilité d’un investissement ;
- Prévoir les ventes futures en analysant les ventes passées ;
- Anticiper le comportement des consommateurs ;
- Prédire le prix d’une maison en fonction de ses caractéristiques ;
- etc.
Et pour chaque cas d’application de la régression linéaire, il est possible d’utiliser Python.
Comment utiliser la régression linéaire avec Python ?
Pour vous expliquer la régression linéaire avec Python, il convient de prendre un exemple concret. Voici l’hypothèse de départ :
Un restaurateur possédant déjà plusieurs restaurants dans plusieurs villes souhaite développer son activité en s’implantant à différents endroits. Pour analyser les prochaines villes où il va s’implanter, le restaurateur dispose de deux groupes de données : les bénéfices réalisés dans les villes où il est déjà implanté et les populations des villes.
L’objectif étant de faire un maximum de bénéfices dans la ville où il va s’implanter, il faut prédire le gain effectué dans la ville où il va s’implanter (variable dépendante = Y) en fonction de la population de celle-ci (variable indépendante = X).
Alors comment évaluer le modèle de régression linéaire avec Python ? Voici les démarches à suivre.
Formater les données
Pour modéliser la régression linéaire avec Python, il convient de préparer les données d’entraînement au bon format. L’idéal est de préparer un fichier CSV avec deux colonnes : une pour la population (variable indépendante) et une autre pour les bénéfices (variable indépendante). Voici à quoi peut ressembler ce fichier :
Population | Bénéfices |
---|---|
811 000 | 175 000 € |
757 000 | 91 300 € |
551 000 | 21 000 € |
372 000 | - 6 000 € |
… | … |
Charger des données
import pandas as pd
df=pd.read_csv("D:\DEV\PYTHON_PROGRAMMING\donnees-d-entrainement-regression-lineaire.csv")
X = df.iloc[0:len(df),0]
Y = df.iloc[0:len(df),1]
Cela vous permet d’obtenir un simple tableau contenant l’ensemble du jeu de données d’entraînement.
Visualiser des données
Pour mieux comprendre la régression linéaire avec Python, il peut être utile de la visualiser. Cela vous permettra d’identifier les points et de mieux comprendre les dispersions.
Afin d’obtenir un graphe de type nuage de points, vous pouvez utiliser Matplotlib, une librairie Python. Voici comment l’obtenir :
import matplotlib.pyplot as plt
axes = plt.axes()
axes.grid()
plt.scatter(X,Y)
plt.show()
Appliquer l’algorithme
from sklearn.linear_model import LinearRegression.
reg = LinearRegression(normalize=True)
reg.fit(x,y)
a = reg.coef_
b = reg.intercept.
Effectuer des prédictions
ordonne = np.linspace
plt.scatter(x,y)
plt.plot(ordonne,a*ordonne+b,color='r')
Maîtrisez la régression linéaire avec Python
La régression linéaire est sans aucun doute l’algorithme à maîtriser absolument en data science. Et si son utilisation via Python vous paraît encore complexe, ce n’est que temporaire. En suivant la bonne formation, vous serez capable d’évaluer n’importe quel algorithme de machine learning à travers différents langages de programmation. Mais quelle formation choisir ? DataScientest, bien sûr. Découvrez notre programme.