Le piège de l'accuracy sur des classes déséquilibrées
La leçon précédente a laissé un résultat troublant : le modèle (76,5 % d’accuracy) fait moins bien que la baseline « toujours à temps » (77,3 %). Cette leçon explique pourquoi ce chiffre est trompeur — exactement la mise en garde du module 1 : « l’accuracy est trompeuse sur des classes déséquilibrées ».
Le tour de passe-passe de la baseline
Section titled “Le tour de passe-passe de la baseline”Avec seulement 23 % de factures en retard, une baseline qui prédit toujours « à temps » a mécaniquement raison 77 % du temps — sans jamais identifier un seul cas à risque. Son accuracy est flatteuse ; son utilité métier est nulle.
Rééquilibrer l’apprentissage
Section titled “Rééquilibrer l’apprentissage”clf = RandomForestClassifier(n_estimators=200, random_state=42, class_weight="balanced")clf.fit(X_train_scaled, y_train)predictions = clf.predict(X_test_scaled)class_weight="balanced" pénalise davantage les erreurs sur la classe minoritaire pendant l’entraînement, pour contrer le déséquilibre plutôt que le subir.
Mesurer ce qui compte réellement
Section titled “Mesurer ce qui compte réellement”from sklearn.metrics import accuracy_score, recall_score, precision_score, f1_score
print("accuracy modele:", accuracy_score(y_test, predictions))print("recall (retards detectes) - modele:", recall_score(y_test, predictions))print("recall (retards detectes) - baseline:", recall_score(y_test, baseline_pred))print("precision - modele:", precision_score(y_test, predictions))print("f1 - modele:", f1_score(y_test, predictions))print("f1 - baseline:", f1_score(y_test, baseline_pred))accuracy modele: 0.6559recall (retards detectes) - modele: 0.625recall (retards detectes) - baseline: 0.0precision - modele: 0.3535f1 - modele: 0.4516f1 - baseline: 0.0L’accuracy du modèle chute encore (65,6 %) — mais son recall sur la classe « en retard » passe de 0 (la baseline n’en détecte structurellement aucun) à 62,5 %. Le f1-score, qui combine précision et rappel, passe de 0 à 0,45.
L’interprétation métier
Section titled “L’interprétation métier”- La baseline a une meilleure accuracy, mais un recall de 0 : elle ne signale jamais aucun risque. Pour le service recouvrement, c’est une baseline inutile, quel que soit son score.
- Le modèle détecte 62,5 % des factures réellement à risque, au prix de quelques fausses alertes (précision 35 %) — un compromis raisonnable pour un outil de priorisation des relances, où le coût d’une vérification inutile est bien plus faible que celui d’un impayé non anticipé.
Une métrique n’est jamais neutre : elle encode implicitement ce qu’on considère comme une erreur acceptable. L’accuracy traite un faux positif et un faux négatif comme équivalents ; ici, ils ne le sont manifestement pas.
Prochaine étape
Section titled “Prochaine étape”👉 Synthèse et mise en production légère
Junior TSAFACK – 12/09/2026