Module 3 — Régression logistique et frontière de décision
Malgré son nom, la régression logistique est un modèle de classification — le plus utilisé pour les problèmes à deux classes. Elle reprend la mécanique linéaire du module 2 et lui ajoute une seule idée : transformer un score en probabilité. Simple, rapide, interprétable, elle reste la référence à battre en classification.
Du score linéaire à la probabilité : la sigmoïde
La régression logistique calcule d'abord un score linéaire, exactement comme le module 2, puis le fait passer dans la fonction sigmoïde, qui écrase n'importe quel nombre réel dans l'intervalle :
Le résultat se lit comme une probabilité d'appartenance à la classe positive. Un score très négatif donne une probabilité proche de 0, un score très positif proche de 1, et un score nul donne exactement 0,5. La courbe en S de la sigmoïde est douce : près de la frontière, une petite variation du score change nettement la probabilité ; loin d'elle, l'effet s'atténue.
from sklearn.linear_model import LogisticRegression
model = LogisticRegression().fit(X_train, y_train)
model.predict_proba(X_test)[:, 1] # probabilités de la classe positive
model.predict(X_test) # décisions au seuil 0,5 par défaut
La frontière de décision et le seuil
Pour trancher entre les deux classes, on compare la probabilité à un seuil — 0,5 par défaut. L'ensemble des points où forme la frontière de décision : pour la régression logistique, c'est une droite (ou un hyperplan en plus grande dimension). D'un côté, la classe positive ; de l'autre, la négative.
Le seuil n'est pas gravé dans le marbre. Le déplacer déplace l'arbitrage entre les deux types d'erreurs :
- Abaisser le seuil (ex. 0,3) : on classe positif plus facilement → plus de vrais positifs détectés, mais plus de faux positifs. On privilégie le rappel.
- Relever le seuil (ex. 0,7) : on n'annonce positif que si l'on est sûr → moins de faux positifs, mais on en rate. On privilégie la précision.
Ce réglage se pilote selon le coût métier des erreurs — détecter une fraude n'a pas les mêmes enjeux que recommander un film. Les métriques du module 9 formalisent ce compromis.
Interpréter les coefficients : sens et force
Comme en régression linéaire, chaque coefficient dit dans quel sens une variable pousse la décision : un coefficient positif augmente la probabilité de la classe positive, un négatif la diminue. Sa magnitude (sur variables standardisées) indique la force de l'effet. Plus précisément, un coefficient agit sur le logarithme du rapport de cotes, mais l'intuition « signe = sens, taille = force » suffit dans la grande majorité des cas pour expliquer une décision à un interlocuteur métier.
La régression logistique se régularise exactement comme au module 2 : scikit-learn applique d'ailleurs une pénalité par défaut (réglée par le paramètre C, l'inverse de — un C petit régularise fort). Pour plus de deux classes, l'astuce un-contre-tous entraîne un classifieur binaire par classe et retient la plus probable ; c'est automatique dans scikit-learn. On garde ainsi un modèle linéaire simple là où beaucoup se précipiteraient vers plus complexe.
En résumé
- La régression logistique calcule un score linéaire puis le convertit en probabilité via la sigmoïde ().
- On décide en comparant la probabilité à un seuil ; l'ensemble des points à est la frontière de décision, linéaire.
- Déplacer le seuil arbitre entre précision et rappel, selon le coût métier des erreurs.
- Les coefficients s'interprètent comme en régression linéaire (signe = sens, taille = force) ; la régularisation et le mode multiclasse sont intégrés.
Module suivant : k plus proches voisins et machines à vecteurs de support — deux approches géométriques qui tracent des frontières d'une tout autre nature.