Régression logistique
Sommaire de l'article
Algorithmes et Mises à Jour : Logistic Regression – Concept de la Régression Logistique
Introduction à la régression logistique
La régression logistique est un algorithme d'apprentissage supervisé largement utilisé pour résoudre des problèmes de classification binaire et, par extension, des tâches de classification multiclasse. Contrairement à la régression linéaire, qui prédit une valeur continue, la régression logistique modélise la probabilité qu'un événement se produise et fournit en sortie une valeur comprise entre 0 et 1 interprétable comme une probabilité.
Par exemple, elle peut être utilisée pour déterminer si un email est un spam ou non-spam, prévoir si un client quitte une entreprise (churn) ou non, prédire la présence ou l’absence d’une maladie à partir de variables cliniques, ou encore estimer la probabilité qu’un utilisateur clique sur une publicité en ligne.
Cette technique est largement employée dans des domaines variés : médecine, finance, marketing, ressources humaines, assurance ou encore analyse de risques. L’objectif de cet article est de vous guider à travers :
- les concepts clés de la régression logistique ;
- les algorithmes d’optimisation et la logique mathématique sous-jacente ;
- les bonnes pratiques pour l’implémenter efficacement en production ;
- les mises à jour de modèles et la surveillance de leurs performances dans le temps ;
- les outils et ressources utiles pour développer des modèles robustes.
Concepts clés de la régression logistique
Avant d’aborder les aspects avancés comme les mises à jour de modèles ou le monitoring, il est essentiel de bien comprendre les fondations théoriques de la régression logistique.
Classification binaire
La classification binaire est au cœur de la régression logistique. On cherche à attribuer chaque observation à l’une des deux classes possibles (0 ou 1, négatif ou positif, faux ou vrai). La variable dépendante suit, dans le cas binaire, une loi de Bernoulli : pour chaque observation, le résultat est soit 0 soit 1.
Exemples de problèmes de classification binaire :
- Détection de spam : un email est soit spam, soit non-spam ;
- Risque de crédit : un client est soit en défaut de paiement, soit solvable ;
- Churn client : un client résilie son contrat ou reste actif ;
- Diagnostic médical : présence ou absence d’une maladie.
Extension à la classification multiclasse
Même si la régression logistique est historiquement associée à la classification binaire, elle peut être étendue à plusieurs classes :
- Régression logistique multinomiale : lorsque la variable cible prend plus de deux valeurs sans ordre naturel (par exemple : chat, chien, oiseau) ;
- Régression logistique ordinale : lorsque les classes possèdent un ordre (par exemple : faible, moyen, élevé).
Ces variantes s’appuient sur des généralisations de la fonction logit et de la fonction de vraisemblance, tout en conservant l’idée de modéliser des probabilités de classes.
Fonction sigmoïde (logistique) et logit
La régression logistique s’appuie sur la fonction sigmoïde (ou fonction logistique) pour transformer une combinaison linéaire des variables explicatives en une probabilité entre 0 et 1. Si l’on note \( z = w_0 + w_1 x_1 + \dots + w_p x_p \), alors :
\[ \sigma(z) = \frac{1}{1 + e^{-z}} \]
Cette fonction prend n’importe quelle valeur réelle et la ramène dans l’intervalle (0, 1). La probabilité que la variable cible \(Y\) soit égale à 1 (classe positive) s’écrit :
\[ P(Y = 1 \mid X) = \sigma(z) \]
La fonction logit est l’inverse de la sigmoïde sur l’échelle des probabilités. Elle modélise les log-odds (logarithme du rapport de probabilités) comme une combinaison linéaire des variables explicatives :
\[ \text{logit}(P) = \log\left(\frac{P}{1-P}\right) = w_0 + w_1 x_1 + \dots + w_p x_p \]
Variables indépendantes (features)
Les variables indépendantes (ou variables explicatives, caractéristiques, features) sont utilisées pour prédire la variable dépendante (la sortie). Elles peuvent être :
- numériques (âge, revenu, température, score de risque, etc.) ;
- catégorielles encodées (pays, type de contrat, profession, canal marketing, etc.).
Exemples :
- Contexte de crédit : revenu annuel, âge, ancienneté bancaire, historique de paiement ;
- Contexte médical : âge, tension artérielle, taux de cholestérol, indice de masse corporelle, antécédents familiaux.
Une bonne préparation des variables (encodage, normalisation, sélection) est cruciale pour obtenir un modèle stable, interprétable et performant.
Estimation par maximum de vraisemblance
Contrairement à la régression linéaire, où les paramètres sont souvent estimés par la méthode des moindres carrés, la régression logistique utilise le maximum de vraisemblance. L’idée est de trouver les paramètres \(w\) qui rendent les données observées aussi probables que possible.
Pour chaque observation, on calcule la probabilité du résultat observé en fonction des paramètres. En multipliant ces probabilités pour toutes les observations, on obtient la vraisemblance du modèle. On maximise ensuite le log-vraisemblance pour simplifier les calculs numériques. Cette maximisation se fait généralement via des algorithmes d’optimisation itérative comme la descente de gradient ou Newton-Raphson.
Fonction de coût (log-loss)
En pratique, on minimise souvent une fonction de coût plutôt que de maximiser directement la vraisemblance. Pour la régression logistique binaire, la fonction de coût standard est la log-loss (ou entropie croisée binaire) :
\[ J(w) = - \frac{1}{n} \sum_{i=1}^{n} \Big( y_i \log(\hat{p}_i) + (1 - y_i)\log(1 - \hat{p}_i) \Big) \]
où \(\hat{p}_i\) est la probabilité prédite que \(Y_i = 1\) pour l’observation \(i\). Cette fonction pénalise fortement les prédictions très sûres mais incorrectes.
Seuil de décision
Le modèle renvoie une probabilité pour la classe positive. Pour obtenir une décision (0 ou 1), on applique un seuil de décision. Par défaut, un seuil de 0,5 est souvent utilisé : si \( P(Y=1 \mid X) \geq 0,5 \), on prédit la classe 1, sinon la classe 0.
Cependant, ce seuil peut être ajusté en fonction du contexte métier, notamment lorsque les coûts d’erreurs de type I (faux positifs) et de type II (faux négatifs) sont très différents. Dans un contexte médical, on peut par exemple choisir un seuil plus bas pour augmenter le rappel, quitte à réduire la précision.
Métriques d’évaluation de la régression logistique
Évaluer correctement un modèle de régression logistique est essentiel pour juger de sa performance réelle. Se limiter à l’accuracy peut être trompeur, surtout en cas de fort déséquilibre de classes.
Principales métriques
- Exactitude (Accuracy) : proportion des prédictions correctes sur l’ensemble des observations. Utile mais insuffisante lorsque les classes sont déséquilibrées.
- Précision (Precision) : parmi les prédictions positives, proportion de cas qui sont réellement positifs. Importante lorsque l’on veut limiter les faux positifs.
- Rappel (Recall ou Sensibilité) : parmi les cas réellement positifs, proportion correctement identifiée comme positive. Crucial pour ne pas manquer de cas importants (par exemple, maladies graves).
- F1-score : moyenne harmonique entre précision et rappel. Donne une vision équilibrée lorsqu’il existe un compromis entre ces deux métriques.
- AUC-ROC (Area Under the ROC Curve) : mesure la capacité globale du modèle à distinguer classes positives et négatives pour tous les seuils possibles. Plus proche de 1, mieux c’est.
- Courbe PR (Precision-Recall) : particulièrement informative lorsque la classe positive est rare.
Matrice de confusion
La matrice de confusion est un outil visuel qui synthétise les performances du modèle :
- Vrais positifs (VP) : cas positifs prédits positifs ;
- Faux positifs (FP) : cas négatifs prédits positifs ;
- Vrais négatifs (VN) : cas négatifs prédits négatifs ;
- Faux négatifs (FN) : cas positifs prédits négatifs.
Toutes les métriques de classification (précision, rappel, F1, etc.) peuvent être dérivées de cette matrice.
Surapprentissage, régularisation et robustesse du modèle
Surapprentissage (overfitting)
Le surapprentissage se produit lorsque le modèle apprend trop finement les particularités (et le bruit) des données d’entraînement, au détriment de sa capacité à généraliser sur de nouvelles données. Il en résulte une performance élevée sur l’ensemble d’entraînement et dégradée sur l’ensemble de validation ou de test.
La régression logistique, bien que relativement simple, peut surapprendre dans les cas suivants :
- grand nombre de variables par rapport au nombre d’observations ;
- présence de variables fortement corrélées ;
- données bruitées ou variables peu pertinentes ;
- absence de régularisation.
Régularisation L1 (Lasso) et L2 (Ridge)
Pour limiter le surapprentissage, on ajoute des termes de pénalité à la fonction de coût :
- Lasso (régularisation L1) : ajoute la somme des valeurs absolues des coefficients. Elle a tendance à pousser certains coefficients exactement à zéro, ce qui réalise une forme de sélection de variables intégrée.
- Ridge (régularisation L2) : ajoute la somme des carrés des coefficients. Elle réduit l’amplitude des coefficients sans forcément les annuler, stabilisant ainsi le modèle.
De nombreuses bibliothèques permettent aussi d’utiliser une pénalisation combinée (Elastic Net) pour bénéficier des avantages de L1 et L2.
Choix de l’hyperparamètre de régularisation
L’intensité de la régularisation est contrôlée par un hyperparamètre (souvent noté \(C\) ou \(\lambda\), selon les implémentations). Un paramètre mal choisi peut conduire soit à du surapprentissage (régularisation trop faible), soit à du sous-apprentissage (régularisation trop forte). On ajuste généralement ce paramètre :
- par recherche de grille (grid search) ;
- par recherche aléatoire (random search) ;
- ou via des méthodes plus avancées d’optimisation d’hyperparamètres.
Bonnes pratiques pour la régression logistique
Gestion des données
La qualité des données est déterminante pour la performance de tout modèle de machine learning, et la régression logistique ne fait pas exception.
- Gestion des valeurs manquantes : utiliser des techniques d’imputation (moyenne, médiane, mode, imputation multiple, modèles dédiés) ou, si justifié, supprimer certaines observations ou variables.
- Détection des valeurs aberrantes : identifier et éventuellement corriger ou exclure les valeurs extrêmes qui pourraient influencer de manière disproportionnée les coefficients.
- Encodage des variables catégorielles : utilisation d’encodage one-hot, ordinal ou d’autres schémas adaptés au contexte.
- Mise à l’échelle : bien que la régression logistique n’exige pas toujours une normalisation stricte, le scaling des variables (standardisation ou min-max) est fortement recommandé, notamment en présence de régularisation.
Sélection des caractéristiques (feature selection)
- Méthodes automatiques : élimination arrière (backward), sélection progressive (forward), sélection séquentielle ou encore méthodes basées sur l’importance des variables.
- Analyse exploratoire : visualisation de la distribution des variables, analyse de corrélation, tests statistiques et compréhension métier pour sélectionner les variables les plus pertinentes.
- Prise en compte de la multicolinéarité : éviter de garder des variables très corrélées entre elles, qui rendent les coefficients instables et difficiles à interpréter.
Vérification de la multicolinéarité
La multicolinéarité survient lorsque plusieurs variables explicatives sont fortement corrélées. Elle ne dégrade pas nécessairement la capacité de prédiction du modèle, mais elle rend les coefficients moins fiables et complique l’interprétation.
On peut la détecter en :
- examinant la matrice de corrélation ;
- calculant le Variance Inflation Factor (VIF) pour chaque variable ;
- analysant la stabilité des coefficients lors de réentraînements successifs.
Validation croisée
La validation croisée k-fold est une bonne pratique standard pour évaluer la performance d’un modèle sur différentes sous-partitions des données. Elle permet :
- d’obtenir une estimation plus robuste des métriques de performance ;
- de réduire le risque de tirer des conclusions sur une seule partition train/test ;
- d’optimiser les hyperparamètres (régularisation, seuil de décision, etc.).
Gestion du déséquilibre de classes
De nombreux problèmes réels présentent une forte asymétrie entre le nombre de cas positifs et négatifs (fraude, maladies rares, défauts de paiement). Dans ce contexte, la régression logistique doit être adaptée :
- utilisation de pondérations de classes (class weights) pour pénaliser davantage les erreurs sur la classe minoritaire ;
- techniques de rééchantillonnage (oversampling de la classe minoritaire, undersampling de la classe majoritaire, méthodes avancées comme SMOTE) ;
- choix de métriques adaptées (F1-score, AUC-ROC, courbe PR) plutôt que l’accuracy seule ;
- ajustement du seuil de décision pour trouver un compromis acceptable entre précision et rappel.
Algorithmes d’optimisation pour la régression logistique
L’ajustement des paramètres d’un modèle de régression logistique nécessite des algorithmes d’optimisation numérique. Parmi les plus utilisés :
- Descente de gradient (Gradient Descent) : met à jour les paramètres dans le sens opposé au gradient de la fonction de coût. Peut être utilisée en version batch, mini-batch ou stochastique.
- Newton-Raphson et méthodes quasi-Newton (comme BFGS, L-BFGS) : utilisent des informations de dérivées secondes (ou une approximation) pour accélérer la convergence.
- Algorithmes spécialisés pour la régression logistique régularisée, implémentés dans les bibliothèques modernes pour combiner efficacité et stabilité numérique.
En pratique, les bibliothèques de machine learning modernes cachent ces détails et proposent des solveurs adaptés à la taille des données et au type de régularisation.
Mise en production, mises à jour de modèles et monitoring
De l’expérimentation à la production
Une fois un modèle de régression logistique entraîné et validé, l’étape suivante consiste à le déployer en production dans une application ou un service. Cette étape implique généralement :
- la sérialisation du modèle (export dans un format exploitable) ;
- l’implémentation d’une API ou d’un service qui reçoit des données et renvoie des prédictions ;
- la gestion des prétraitements (encodage, mise à l’échelle) de manière cohérente entre entraînement et production ;
- la mise en place d’un environnement d’exécution robuste, sécurisé et scalable.
Monitoring des performances dans le temps
Un modèle de régression logistique n’est pas figé : l’environnement et les distributions de données peuvent évoluer, ce qui peut entraîner une dérive de données (data drift) ou une dérive de modèle (model drift). Il est donc nécessaire de :
- suivre régulièrement les métriques de performance (accuracy, AUC, F1, etc.) sur les données récentes ;
- surveiller les distributions des variables d’entrée pour détecter des changements significatifs ;
- mettre en place des alertes lorsque les performances descendent en dessous de seuils définis.
Mises à jour et réentraînement des modèles
Lorsque les performances se dégradent, il peut être nécessaire de mettre à jour le modèle :
- Réentraînement périodique : réentraîner le modèle à intervalles réguliers (par exemple, chaque mois ou trimestre) avec les nouvelles données collectées.
- Apprentissage incrémental (si l’implémentation le permet) : mettre à jour progressivement les paramètres sans repartir de zéro, utile pour les flux de données continus.
- Stratégies de déploiement : mise en place de déploiements canary ou A/B testing pour comparer un nouveau modèle à l’ancien avant un remplacement complet.
Un processus de ML Ops (Machine Learning Operations) bien structuré aide à automatiser ces cycles d’entraînement, d’évaluation, de déploiement et de monitoring.
Outils et ressources pour la régression logistique
Principaux outils logiciels
- Python :
- scikit-learn : propose la classe
LogisticRegressionpour la classification binaire, multiclasse et régularisée, avec différents solveurs adaptés aux grands volumes de données. - statsmodels : fournit une implémentation de la régression logistique avec un focus sur l’inférence statistique, les tests et les intervalles de confiance pour les coefficients.
- Frameworks de deep learning (tels que PyTorch ou TensorFlow) : permettent de construire manuellement des modèles logistiques ou des réseaux neuronaux dont la dernière couche est une sigmoïde ou une softmax.
- scikit-learn : propose la classe
- R :
- La fonction
glmavec la famillebinomialest la référence pour ajuster des modèles de régression logistique. - D’autres packages (caret, tidymodels) facilitent la validation croisée, le tuning d’hyperparamètres et le déploiement.
- La fonction
- Notebooks interactifs :
- Jupyter Notebook ou JupyterLab : idéals pour expérimenter, visualiser les données, documenter les étapes et partager des analyses.
- Environnements équivalents dans des plates-formes cloud de machine learning peuvent également être utilisés.
Ressources d’apprentissage et bonnes pratiques
Pour approfondir votre maîtrise de la régression logistique, il est utile de consulter :
- des cours structurés de statistique appliquée et de machine learning ;
- des tutoriels pratiques montrant comment entraîner, évaluer et déployer une régression logistique sur des jeux de données réels ;
- des études de cas sectorielles (finance, santé, marketing) illustrant le choix des variables, l’interprétation des coefficients et la gestion des risques liés aux décisions automatisées.
Interprétation des coefficients et aspects métiers
Odds et log-odds
Un avantage clé de la régression logistique est sa bonne interprétabilité. Chaque coefficient peut être interprété en termes d’odds ratio. Si l’on note \(w_j\) le coefficient associé à une variable \(x_j\), alors, toutes choses égales par ailleurs :
\[ e^{w_j} \]
représente le facteur par lequel les odds (c’est-à-dire le rapport \(\frac{P}{1-P}\)) sont multipliés lorsque \(x_j\) augmente d’une unité. Un odds ratio supérieur à 1 indique que l’augmentation de la variable est associée à une augmentation de la probabilité de l’événement, et un odds ratio inférieur à 1 indique l’effet inverse.
Interprétation métier
Pour être utile en entreprise, un modèle de régression logistique doit être interprété en termes métier :
- identifier les variables qui augmentent fortement le risque (par exemple, un certain comportement de paiement ou un indicateur clinique) ;
- repérer les leviers d’action : par exemple, des caractéristiques qui, si elles sont modifiées, pourraient réduire la probabilité d’un événement négatif ;
- communiquer les résultats à des parties prenantes non techniques (équipes métier, direction) via des visualisations et des indicateurs produits.
Limites de la régression logistique
Même si la régression logistique est un outil très puissant, elle présente certaines limites :
- elle suppose une relation linéaire entre les log-odds et les variables explicatives. En cas de relation fortement non linéaire, il peut être nécessaire de transformer les variables ou d’utiliser des modèles plus complexes ;
- elle peut être moins performante que des modèles non linéaires (arbres de décision, forêts aléatoires, gradient boosting, réseaux neuronaux) sur des données très complexes ;
- sa performance dépend fortement de la qualité du feature engineering et de la pertinence des variables choisies ;
- pour des très grands volumes de données ou un très grand nombre de variables, l’optimisation peut devenir coûteuse si l’on ne choisit pas des algorithmes adaptés.
Néanmoins, grâce à sa simplicité, son interprétabilité et sa robustesse, la régression logistique reste souvent un excellent modèle de base et un point de comparaison incontournable pour d’autres algorithmes plus sophistiqués.
Conclusion générale
La régression logistique occupe une place centrale parmi les algorithmes de machine learning supervisé pour la classification binaire et multiclasse. En modélisant directement la probabilité d’appartenance à une classe via la fonction sigmoïde et le maximum de vraisemblance, elle offre un compromis idéal entre performance, simplicité mathématique et interprétabilité.
En suivant les bonnes pratiques présentées dans cet article – gestion rigoureuse des données, choix judicieux des variables, utilisation appropriée de la régularisation, validation croisée, suivi des métriques, mise en production maîtrisée et mises à jour régulières du modèle – vous pourrez construire des systèmes de décision fiables, transparents et adaptés à vos enjeux métiers, qu’il s’agisse de détection de fraude, de scoring de crédit, de marketing prédictif ou de diagnostic médical.