La régression linéaire est une méthode de machine learning supervisé qui prédit une valeur numérique en modélisant la relation entre variables par une droite. Elle répond à des questions du type « quel prix pour cette surface ? » ou « quelles ventes pour ce budget publicitaire ? », en traçant la droite qui colle au mieux aux données observées.
Ce guide définit la régression linéaire, explique la droite des moindres carrés, la met en oeuvre avec scikit-learn (code testé), montre comment l'évaluer avec le coefficient de détermination R², et distingue régression simple et multiple. Il approfondit la classification et la régression supervisées.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Définir la régression linéaire et son principe.
- Comprendre la droite des moindres carrés.
- Entraîner un modèle avec scikit-learn et prédire une valeur.
- Évaluer un modèle avec R² et le RMSE.
- Distinguer régression simple et régression multiple.
Qu'est-ce que la régression linéaire ?
Section intitulée « Qu'est-ce que la régression linéaire ? »La régression linéaire cherche la droite qui résume le mieux la relation entre une variable à prédire et une ou plusieurs variables explicatives. Avec une seule variable explicative, cette droite s'écrit :
y = a * x + boù a est la pente (de combien y augmente quand x augmente de 1) et b l'ordonnée à l'origine (la valeur de y quand x vaut 0). Le modèle apprend les valeurs de a et b qui minimisent l'erreur sur les données connues.
C'est de l'apprentissage supervisé : on fournit des exemples où la réponse est connue, et le modèle prédit ensuite la valeur pour de nouvelles entrées. Contrairement à la classification, la sortie est une valeur continue, pas une catégorie.
La droite des moindres carrés
Section intitulée « La droite des moindres carrés »Comment trouver la « meilleure » droite ? En minimisant la somme des carrés des écarts entre les points réels et la droite : c'est la méthode des moindres carrés. Élever au carré évite que les écarts positifs et négatifs s'annulent, et pénalise fortement les grosses erreurs.
Entraîner une régression linéaire avec scikit-learn
Section intitulée « Entraîner une régression linéaire avec scikit-learn »Installez les bibliothèques avec des versions épinglées :
pip install scikit-learn==1.9.0 numpy==2.5.1 matplotlib==3.11.0On génère des données de démonstration, on sépare en jeu d'entraînement et de test, puis on entraîne le modèle :
from sklearn.datasets import make_regressionfrom sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import r2_score, mean_squared_error
# Données : 100 points avec du bruitX, y = make_regression(n_samples=100, n_features=1, noise=15, random_state=42)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Entraînementmodel = LinearRegression().fit(X_train, y_train)y_pred = model.predict(X_test)
print("Pente :", round(float(model.coef_[0]), 2))print("Ordonnée :", round(float(model.intercept_), 2))print("R2 :", round(r2_score(y_test, y_pred), 3))print("RMSE :", round(mean_squared_error(y_test, y_pred) ** 0.5, 2))La sortie donne l'équation apprise et la qualité du modèle :
Pente : 45.5Ordonnée : 0.15R2 : 0.874RMSE : 15.31Le modèle a appris la droite y = 45.5 * x + 0.15. Superposée aux données, elle
suit bien la tendance :

Évaluer un modèle de régression
Section intitulée « Évaluer un modèle de régression »Deux indicateurs complémentaires mesurent la qualité d'une régression.
- Le coefficient de détermination R² : la part de la variation expliquée par le modèle, entre 0 et 1. Un R² de 0.874 signifie que le modèle explique 87 % de la variabilité des données. Plus il est proche de 1, mieux c'est.
- Le RMSE (racine de l'erreur quadratique moyenne) : l'erreur moyenne de prédiction, dans l'unité de la variable cible. Un RMSE de 15.31 signifie que les prédictions se trompent en moyenne d'environ 15 unités.
Le R² dit quelle proportion est expliquée, le RMSE dit de combien on se trompe. On les regarde ensemble.
Régression simple ou multiple
Section intitulée « Régression simple ou multiple »La régression linéaire simple utilise une seule variable explicative (une droite). La régression multiple en utilise plusieurs : le modèle apprend alors un plan ou un hyperplan, avec un coefficient par variable.
Simple : y = a * x + bMultiple : y = a1 * x1 + a2 * x2 + ... + bLe code scikit-learn est identique : il suffit de fournir un X à plusieurs
colonnes. La régression multiple est la plus fréquente en pratique, car un
phénomène dépend rarement d'un seul facteur.
Cas d'usage de la régression linéaire
Section intitulée « Cas d'usage de la régression linéaire »La régression linéaire sert dès qu'on veut prédire une quantité à partir de facteurs mesurables :
- Estimation de prix : immobilier, véhicules d'occasion, selon leurs caractéristiques.
- Prévision de ventes en fonction du budget marketing ou de la saison.
- Analyse d'impact : mesurer l'effet d'une variable sur une autre.
- Base de référence : c'est le modèle le plus simple, celui auquel on compare des modèles plus complexes.
Questions fréquentes
Section intitulée « Questions fréquentes »La régression linéaire, c'est quoi ?
Section intitulée « La régression linéaire, c'est quoi ? »C'est une méthode qui prédit une valeur numérique en modélisant la relation entre variables par une droite. Le modèle apprend la pente et l'ordonnée qui collent le mieux aux données observées.
Comment fonctionne la méthode des moindres carrés ?
Section intitulée « Comment fonctionne la méthode des moindres carrés ? »Elle cherche la droite qui minimise la somme des carrés des écarts entre les points réels et la droite. Le carré évite l'annulation des écarts et pénalise les grosses erreurs.
Qu'est-ce que le coefficient de détermination R² ?
Section intitulée « Qu'est-ce que le coefficient de détermination R² ? »Le R² mesure la part de la variation expliquée par le modèle, entre 0 et 1. Un R² de 0.9 signifie que le modèle explique 90 % de la variabilité des données.
Quelle différence entre régression et classification ?
Section intitulée « Quelle différence entre régression et classification ? »La régression prédit une valeur continue (un prix, une température). La classification prédit une catégorie (spam ou non). Toutes deux relèvent de l'apprentissage supervisé.
À retenir
Section intitulée « À retenir »- La régression linéaire prédit une valeur continue avec une droite
y = a*x + b. - La méthode des moindres carrés trouve la droite qui minimise les carrés des écarts.
- scikit-learn l'entraîne en quelques lignes avec
LinearRegression. - On évalue avec R² (part expliquée) et RMSE (erreur moyenne).
- La régression multiple généralise à plusieurs variables, avec le même code.