Évaluation des modèles avec des données déséquilibrées

L’évaluation des modèles d’apprentissage automatique est une étape cruciale dans tout projet de data science. Cependant, lorsque les données sont déséquilibrées — c’est-à-dire que certaines classes sont nettement sous-représentées — les métriques classiques comme la précision peuvent être trompeuses et ne pas refléter la réelle performance du modèle. Comprendre comment évaluer correctement un modèle dans ces situations est indispensable pour construire des systèmes fiables et robustes.


Pourquoi les données déséquilibrées posent problème à l’évaluation ?

Imaginons un jeu de données de classification binaire où 99 % des exemples appartiennent à la classe majoritaire (par exemple « non frauduleux ») et seulement 1 % à la classe minoritaire (« frauduleux »). Un modèle naïf qui prédit toujours la classe majoritaire aura une précision de 99 % sans réellement détecter aucune fraude. Cela montre que la précision seule peut masquer un modèle inefficace dans le contexte de classes déséquilibrées.

L’enjeu est donc de choisir des métriques qui reflètent la capacité réelle du modèle à identifier correctement les exemples minoritaires tout en limitant les erreurs sur les classes majoritaires.


Les métriques classiques et leurs limites

La précision (accuracy) mesure la proportion d’exemples correctement classés sur l’ensemble des données. Elle est simple à calculer mais peut être très trompeuse en cas de déséquilibre. Un score élevé en précision ne garantit pas que les classes minoritaires soient bien détectées.

Le tableau de contingence (matrice de confusion) est une base pour comprendre la performance d’un modèle. Pour une classification binaire, il contient :

La précision globale se calcule comme :

Précision = (VP + VN) / (VP + VN + FP + FN)

Cette formule peut masquer un mauvais rappel des classes minoritaires, car la classe majoritaire pèse lourd dans la moyenne.


Métriques adaptées aux données déséquilibrées


Précision (Precision)

La précision spécifique à la classe minoritaire mesure la proportion d’exemples prédits positifs qui sont réellement positifs :

Precision = VP / (VP + FP)

Elle indique la fiabilité des prédictions positives, c’est-à-dire combien de fois une prédiction « minoritaire » est correcte.


Rappel (Recall) ou Sensibilité

Le rappel mesure la capacité du modèle à détecter tous les exemples de la classe minoritaire :

Recall = VP / (VP + FN)

Un rappel élevé signifie que le modèle ne rate pas beaucoup d’exemples minoritaires, ce qui est souvent crucial (ex : détection de maladies, fraudes).


Métrique F1-score

Le F1-score combine précision et rappel en une seule mesure harmonique :

F1 = 2 * (Precision * Recall) / (Precision + Recall)

Cette métrique est souvent préférée en cas de déséquilibre, car elle balance l’efficacité à trouver les exemples positifs et la qualité des prédictions.


AUC-ROC (Area Under the Receiver Operating Characteristic curve)

L’AUC-ROC mesure la capacité du modèle à distinguer les classes en variant le seuil de décision. La courbe ROC trace le taux de vrais positifs (rappel) en fonction du taux de faux positifs, pour tous les seuils possibles.

Un AUC proche de 1 signifie une excellente séparation entre classes, alors qu’un AUC proche de 0,5 correspond à une prédiction aléatoire.


AUC-PR (Area Under the Precision-Recall curve)

Cette métrique est souvent plus informative que l’AUC-ROC dans les contextes fortement déséquilibrés. La courbe Precision-Recall met l’accent sur la performance pour la classe minoritaire uniquement, en traçant la précision en fonction du rappel.


Illustration simple de la matrice de confusion

Matrice de confusion binaire :| | Prédit Positif | Prédit Négatif |
|—————|—————-|—————-|
| Réel Positif | VP | FN |
| Réel Négatif | FP | VN |

Ce tableau est la base pour calculer toutes les métriques évoquées précédemment.


Choisir la bonne métrique selon le contexte

Le choix des métriques dépend directement des enjeux métiers et du coût des erreurs :


Évaluation en multi-classes et données déséquilibrées

Pour des problèmes multi-classes, les métriques peuvent être calculées selon plusieurs méthodes :

Le macro-average est souvent préférable pour évaluer la performance sur les classes minoritaires.


Stratégies complémentaires pour une bonne évaluation


Exemple pratique en Python avec scikit-learn

Voici un exemple illustrant l’évaluation d’un modèle sur un jeu de données déséquilibré avec différentes métriques :

from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report, roc_auc_score, precision_recall_curve, auc

# Création d'un jeu de données déséquilibré
X, y = make_classification(n_samples=1000, n_classes=2, weights=[0.9, 0.1], random_state=42)

# Séparation train/test avec stratification
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)

# Entraînement d'un modèle
model = LogisticRegression(max_iter=1000, class_weight='balanced')
model.fit(X_train, y_train)

# Prédictions
y_pred = model.predict(X_test)
y_proba = model.predict_proba(X_test)[:, 1]

# Rapport classique
print(classification_report(y_test, y_pred))

# Calcul de l'AUC-ROC
roc_auc = roc_auc_score(y_test, y_proba)
print(f"AUC-ROC : {roc_auc:.3f}")

# Calcul et tracé de la courbe Precision-Recall
precision, recall, _ = precision_recall_curve(y_test, y_proba)
pr_auc = auc(recall, precision)
print(f"AUC-PR : {pr_auc:.3f}")

Cet exemple montre comment combiner plusieurs métriques pour obtenir une vision complète de la performance du modèle, en particulier sur la classe minoritaire.


Conclusion

L’évaluation des modèles dans un contexte de données déséquilibrées requiert une attention particulière. La précision globale n’est pas suffisante pour juger de la qualité réelle d’un classificateur. Il est indispensable de s’appuyer sur des métriques telles que le rappel, la précision, le F1-score, l’AUC-ROC et l’AUC-PR, qui apportent une compréhension fine du comportement du modèle.

Le choix des métriques doit être guidé par les enjeux métiers et les coûts associés aux différentes erreurs. Couplé à des techniques de validation adaptées et à une analyse détaillée, cela permet de construire des modèles plus justes et efficaces dans les situations de déséquilibre.

La maîtrise de ces notions est un atout essentiel pour tout data scientist confronté à des problématiques réelles où l’équilibre des classes est rarement parfait.