Session d'information - Découvrez les métiers de la data et comment vous y former - le 29 janvier à 18h30
Session d'information - Découvrez les métiers de la data et comment vous y former - le 29 janvier à 18h30
Session d'information - Découvrez les métiers de la data et comment vous y former - le 29 janvier à 18h30
Je m'inscris
Mercredi 29 janvier 2025 à 18h30
Session d'information

Les métiers de la data vous intéressent mais vous ne savez pas comment y accéder ? Découvrez les métiers de la data et comment vous y former, quel que soit votre profil !

Je m'inscris

Qu’est-ce que la régression en Machine Learning ?

Qu’est-ce que la régression en Machine Learning et comment l’utiliser ? Découvrez les concepts, types et cas d’usage dans cet article complet.

Antoine Grignola
Co-fondateur de DataBird
Mis à jour le
7/1/2025

Découvrez nos formations dédiées à la Data Science & IA.

Découvrir

Imaginez que vous êtes un propriétaire d'agence immobilière, cherchant à prédire le prix de vente des maisons que vous listez. 

Comment savoir si une maison avec 100 m² dans un quartier populaire vaut 300 000 € ou 400 000 € ?

C'est là qu'intervient la régression en machine learning, une méthode d'apprentissage automatique qui permet de prédire une valeur continue en s'appuyant sur des données existantes

Dans cet article, on va voir comment un algorithme de machine learning avec régression peut être utile.

Définition et principes fondamentaux de la régression

La régression en machine learning est une technique statistique utilisée pour modéliser et analyser la relation entre une variable cible et une ou plusieurs variables explicatives.

Le fonctionnement repose sur l'ajustement d'un algorithme mathématique pour prédire une valeur numérique continue.

L’objectif principal est de prédire une valeur numérique continue à partir de données existantes.

Prenons un exemple concret :

Détails des Propriétés
Surface (m²) Nombre de chambres Localisation (1 = prisé) Prix de vente (€)
80 3 1 350000
100 4 1 450000
60 2 0 200000
120 5 1 550000
75 3 0 250000

Avec ces données, un modèle de régression peut apprendre une relation mathématique entre les variables explicatives (surface, chambres, localisation) et le prix de vente.

Par la suite, ce modèle permettra de prédire le prix d'une nouvelle maison basée sur ses caractéristiques.

La régression repose sur l'idée que les données suivent une forme de relation prévisible, représentée sous la forme d’une équation mathématique.

Par exemple, dans le cas d’une régression linéaire, l’équation peut s’écrire ainsi :
Prix=a×Surface+b×Nombre_chambres+c×Localisation+d

Cette relation linéaire permet de minimiser l’erreur entre les valeurs réelles et les valeurs prédites.

Les erreurs sont souvent mesurées à l’aide de l’erreur quadratique moyenne (MSE), qui à terme permet d’évaluer la précision du modèle.

La régression linéaire : Une introduction classique

La régression linéaire suppose une relation droite entre la variable cible et les variables explicatives

Ce modèle repose sur des concepts simples, comme la minimisation de l'erreur quadratique moyenne.

Exemple pratique :

À partir du tableau ci-dessus, on peut construire une seule régression linéaire simple pour prédire le prix d’une maison uniquement en fonction de sa surface :

Prix=3000×Surface+50000

Pour une maison de 100 m², le prix estimé serait :
Prix=3000×100+50000=350000€

Régression multiple : Étendre le concept

Contrairement à la régression linéaire simple, la régression linéaire multiple prend en compte plusieurs variables explicatives simultanément pour mieux modéliser des situations complexes.

Exemple pratique :
En utilisant la surface, le nombre de chambres et la localisation, l’équation pourrait devenir :
Prix=(2000×Surface)+(10000×Nombre_chambres)+(50000×Localisation)+c

Pour une maison de 80 m², avec 3 chambres et située dans un quartier prisé, le modèle pourrait prédire :
Prix=(2000×80)+(10000×3)+(50000×1)
Prix=160000+30000+50000=240000€

Régression logistique : Pour les classes binaires

La régression logistique utilise une fonction sigmoïde pour prédire la probabilité qu’un événement se produise, une méthode adaptée à la classification binaire.

Exemple pratique :
Vous pourriez prédire si une maison se vendra rapidement ou non (1 = Oui, 0 = Non) en fonction de sa localisation, son prix et sa surface.

Pourquoi utiliser la régression en Machine Learning ?

Applications courantes en entreprise

Les applications de la régression en entreprise sont nombreuses.

Elle est utilisée pour extraire une valeur prédictive à partir d'ensembles de données, que ce soit dans l’immobilier, la finance ou la santé.

Dans le secteur de l'immobilier, elle permet de prédire le prix des propriétés, aidant ainsi les agents à fixer des tarifs compétitifs.

En finance, la régression est utilisée pour évaluer le risque de crédit d’un client avant de lui accorder un prêt.

Dans le domaine de la santé, elle sert à estimer le coût des traitements en fonction des données médicales des patients. 

Enfin, dans le secteur météorologique, elle est employée pour prévoir la température ou les précipitations dans une région donnée.

Limites et contraintes de la régression

Cependant, la régression présente certaines limites et contraintes. Elle est particulièrement sensible aux outliers, ces valeurs aberrantes qui peuvent biaiser les prédictions.

Elle nécessite également des données soigneusement préparées, sans valeurs manquantes et avec des relations claires entre les variables.

La régression est difficile à appliquer aux relations non-linéaires, sauf si l'on utilise des transformations ou des modèles complexes pour mieux capturer ces relations.

Dans ce graphique, le dernier point est un outlier extrême (surface = 1500 m², prix = 5 000 000 €) qui perturbe la droite de régression.

Les principaux types de modèles de régression

Régression Ridge et Lasso

Ces méthodes ajoutent une régularisation pour éviter le sur-apprentissage et nécessitent des compétences spécifiques pour bien paramétrer les modèles.

Régression polynomial

Idéale pour modéliser des relations non linéaires, comme une forme courbe liée à la consommation de carburant.

Par exemple, prédire la consommation de carburant en fonction de la vitesse d’un véhicule.

Régression par arbre de décision (CART)

Cette approche hiérarchique est efficace, notamment dans des contextes de big data, pour construire des modèles prédictifs simples mais robustes.

Étapes pour implémenter une régression en Machine Learning

Nettoyage et préparation des données

Avant de construire un modèle, il faut nettoyer l’ensemble de données. Cela implique de corriger les valeurs aberrantes et de vérifier que chaque fonction explicative est bien représentée.

Par exemple, si une maison est listée avec une surface de 10 000 m² dans un quartier résidentiel, il s’agit probablement d’une erreur de saisie

Une telle valeur pourrait influencer de manière disproportionnée les calculs du modèle.

Il est aussi important de standardiser les données, surtout si les variables explicatives ont des échelles différentes (par exemple, la surface en m² et le nombre de chambres).

Sélection des caractéristiques

Toutes les variables disponibles ne sont pas forcément pertinentes pour la prédiction.

L’identification des variables explicatives les plus influentes est une étape cruciale. 

Cela peut être fait grâce à des analyses statistiques ou une matrice de corrélation, qui montre comment les variables sont liées entre elles.

Par exemple, dans un modèle de prédiction de prix de maisons, la surface et la localisation peuvent avoir une forte corrélation avec le prix, tandis que d’autres variables, comme la couleur des murs, pourraient être sans importance. 

Réduire le nombre de variables non pertinentes permet d’améliorer la précision et l’interprétabilité du modèle.

{{formation-data-science="/brouillon"}}

Entraînement et validation du modèle

Une fois les données prêtes, elles sont divisées en deux ensembles :

  • Ensemble d’entraînement (80 % des données) : utilisé pour entraîner le modèle en lui permettant d’apprendre la relation entre les variables explicatives et la variable cible.
  • Ensemble de test (20 % des données) : utilisé pour évaluer la performance du modèle sur des données qu’il n’a jamais vues auparavant.

Pour mesurer la qualité des prédictions, on utilise des métriques comme le coefficient de détermination (R²), qui indique à quel point les prédictions s'alignent sur les valeurs réelles, ou l'erreur quadratique moyenne (MSE), qui mesure l’écart moyen entre les valeurs prédites et les valeurs réelles. 

Par exemple, un MSE faible signifie que le modèle est précis et que ses prédictions sont proches des valeurs réelles.

Quels outils pour la régression en Machine Learning ?

Python avec Scikit-learn

Voici un exemple simple en Python pour prédire le prix d’une maison :

import pandas as pd

from sklearn.linear_model import LinearRegression

from sklearn.model_selection import train_test_split

from sklearn.metrics import mean_squared_error, r2_score

# Charger les données dans un DataFrame

data = {

'Surface': [80, 100, 60, 120, 75],

'Nombre_chambres': [3, 4, 2, 5, 3],

'Localisation': [1, 1, 0, 1, 0],

'Prix_vente': [350000, 450000, 200000, 550000, 250000]

}

df = pd.DataFrame(data)

# Séparer les variables explicatives (X) et la variable cible (y)

X = df[['Surface', 'Nombre_chambres', 'Localisation']]

y = df['Prix_vente']

# Diviser les données en ensembles d'entraînement et de test

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Créer et entraîner le modèle de régression linéaire

model = LinearRegression()

model.fit(X_train, y_train)

# Faire des prédictions sur l'ensemble de test

y_pred = model.predict(X_test)

# Évaluer les performances du modèle

mse = mean_squared_error(y_test, y_pred)

r2 = r2_score(y_test, y_pred)

print("Évaluation du modèle :")

print(f"Erreur quadratique moyenne (MSE) : {mse:.2f}")

print(f"Coefficient de détermination (R²) : {r2:.2f}")

# Afficher les coefficients du modèle

print("\nCoefficients du modèle :")

for feature, coef in zip(X.columns, model.coef_):

print(f"{feature}: {coef:.2f}")

print(f"Intercept : {model.intercept_:.2f}")

# Exemple de prédiction pour une nouvelle maison

nouvelle_maison = pd.DataFrame({'Surface': [90], 'Nombre_chambres': [3], 'Localisation': [1]})

prediction = model.predict(nouvelle_maison)

print(f"\nPrédiction pour une maison de 90 m², 3 chambres, dans un quartier prisé : {prediction[0]:.2f} €")

En utilisant Python et le code fourni, vous trouverez bien le résultat suivant:

R pour les statistiques avancées

R est idéal pour visualiser les relations complexes entre les variables.

Voici un exemple de code en R utilisant le tableau immobilier donné

Ce code illustre comment entraîner un modèle de régression linéaire pour prédire le prix de vente des maisons en fonction de leurs caractéristiques (surface, nombre de chambres, localisation).

# Charger les données

data <- data.frame(

  Surface = c(80, 100, 60, 120, 75),

  Nombre_chambres = c(3, 4, 2, 5, 3),

  Localisation = c(1, 1, 0, 1, 0),

  Prix_vente = c(350000, 450000, 200000, 550000, 250000)

)

# Visualisation initiale des données

print("Aperçu des données :")

print(data)

# Diviser les données en variables explicatives (X) et cible (y)

X <- data[, c("Surface", "Nombre_chambres", "Localisation")]

y <- data$Prix_vente

# Modèle de régression linéaire

model <- lm(Prix_vente ~ Surface + Nombre_chambres + Localisation, data = data)

# Résumé du modèle

print("Résumé du modèle :")

summary(model)

# Prédictions sur les données existantes

data$Prediction <- predict(model, newdata = data)

# Afficher les prédictions

print("Prédictions des prix :")

print(data)

# Visualisation : Relation entre surface et prix

library(ggplot2)

 ggplot(data, aes(x = Surface, y = Prix_vente)) +

 geom_point(color = "blue", size = 3) +

 geom_line(aes(y = Prediction), color = "red", linetype = "dashed") +

  labs(title = "Relation entre Surface et Prix de Vente",

    x = "Surface (m²)", y = "Prix de Vente (€)") +

  theme_minimal()

Lors de l'ajout de ce code sur R Studio, vous trouverez ce résultat, avec le graphe attendu rapport entre la surface et le prix de vente :

Outils cloud comme AWS SageMaker ou Google AI

Ces outils, comme AWS SageMaker ou Google AI Platform, offrent une infrastructure puissante pour entraîner des modèles de machine learning sur des ensembles de données volumineux, souvent en exploitant la puissance de calcul du cloud

Cela permet de traiter des données complexes, d’ajuster des modèles avancés et de réduire le temps d’entraînement grâce aux ressources évolutives (CPU, GPU ou TPU).

Une fois le modèle entraîné, ces plateformes permettent également de déployer rapidement les applications sous forme d’API ou de services accessibles en ligne. 

Par exemple, un modèle de prédiction de prix immobilier peut être intégré à une application web pour fournir des estimations en temps réel aux utilisateurs. 

Ces services facilitent ainsi la mise en production de solutions machine learning, même à grande échelle, sans nécessiter une gestion complexe de l’infrastructure.

Exemples pratiques : La régression dans le monde réel

Prédiction des prix immobiliers

Dans le secteur immobilier, les modèles de régression permettent de prédire les valeurs des biens immobiliers en fonction de caractéristiques comme la surface ou la localisation.

Par exemple, une maison de 90 m², située dans un quartier prisé, peut rapidement être estimée à l’aide de données historiques, aidant les agents immobiliers à fixer un tarif compétitif.

Analyse des ventes et forecasting

Dans le commerce, les prévisions des ventes permettent d’anticiper la demande et de mieux gérer les services logistiques, optimisant ainsi le fonctionnement global de l’entreprise.

Par exemple, une boutique en ligne peut prévoir la demande pendant les fêtes grâce à des données sur les ventes passées et les promotions, évitant ainsi les ruptures de stock ou les surplus coûteux.

Comment se former à la régression en Machine Learning ?

Formations certifiantes disponibles en ligne

Chez DataBird, nos formations en machine learning incluent des modules dédiés à la régression et des cas pratiques pour maîtriser le sujet.

Projets pratiques pour appliquer vos connaissances

Rien de tel que des projets concrets pour apprendre ! 

Par exemple, prédisez les ventes d’un e-commerce ou analysez des données médicales pour détecter des tendances.

{{formation-data-science="/brouillon"}}

Faites un premier pas dans la data avec nos cours gratuits
Démarrer
Difficulté :
Moyenne