Les données déséquilibrées sont très fréquentes en Machine Learning. Malheureusement, elles complexifient les analyses prédictives. Alors pour équilibrer ces jeux de données, plusieurs méthodes ont été mises en place. Et notamment le rééchantillonnage. Focus.
Comment gérer les données déséquilibrées avec le rééchantillonnage ?
Les données déséquilibrées sont caractérisées par des échantillons où une forte disparité est constatée. Ainsi, le ratio entre les classes n’est pas de 50/50, mais plutôt de 90/10. C’est à partir de cet instant que les data poseront des problèmes en Machine Learning et Deep Learning.
Cela renvoie souvent aux événements relativement rares, comme les fraudes à l’assurance ou la détection d’une maladie. Par exemple, sur une population, il se peut qu’une grande majorité soit en bonne santé, et seulement 0,1 % soit atteinte de sclérose en plaques. Les personnes saines sont alors la classe majoritaire et les personnes malades sont considérées comme la classe minoritaire. Si ces événements sont assez courants, ils ne représentent qu’une infime partie de l’échantillon étudié. D’où la difficulté à les prédire.
En Machine Learning, les données déséquilibrées sont très fréquentes, en particulier pour la classification binaire. C’est pourquoi, plusieurs méthodes se développent pour mieux gérer les problèmes de classification déséquilibrée. Notamment à travers le rééchantillonnage des données.
Quelles sont les deux méthodes de rééchantillonnage ?
Le rééchantillonnage consiste à modifier l’ensemble des données avant d’entraîner le modèle prédictif. Cela permet d’équilibrer les données pour faciliter la prédiction.
À cette fin, il existe deux méthodes de rééchantillonnage.
Le sur-échantillonnage
Également appelé oversampling, il s’agit d’augmenter le nombre de données appartenant à la classe minoritaire, jusqu’à atteindre un certain équilibre. Ou du moins un taux satisfaisant pour réaliser des prédictions fiables.
Les Data Scientists peuvent utiliser deux méthodes de rééchantillonnage. À savoir :
- Le sur-échantillonnage aléatoire : ici, les données minoritaires sont clonées plusieurs fois de manière aléatoire. Cette technique est surtout utile pour les modèles linéaires, comme la régression logistique.
- Le sur-échantillonnage synthétique : l’idée est, là encore, d’ajouter des données de classes minoritaires. Mais au lieu de les copier à l’identique, l’algorithme crée des données distinctes, mais similaires.
Le sous-échantillonnage
À l’inverse, l’undersampling va diminuer le nombre de données de la classe majoritaire pour équilibrer le ratio.
On utilise principalement le sous-échantillonnage aléatoire. C’est-à-dire que les données majoritaires sont retirées de manière aléatoire. Il faut privilégier cette technique de rééchantillonnage lorsque vous disposez de grands jeux de données (au minimum plusieurs dizaines de milliers de cas).
Si cette méthode est la plus courante, vous pouvez aussi utiliser l’undersampling des observations frontalières ou le clustering-based undersampling. C’est-à-dire de retirer spécifiquement certaines données majoritaires.
Dans les deux cas, il n’est pas nécessaire d’obtenir un équilibre parfait de 50/50. Il est tout à fait possible de retirer des données majoritaires ou d’ajouter des données minoritaires afin d’obtenir un ratio de 45/55 ou encore 40/60.
Par ailleurs, n’hésitez pas à tester plusieurs ratios de classes afin de sélectionner celui qui vous offrira les meilleures performances de prédiction.
Si vous désirez apprendre un peu plus concernant le rééchantillonnage de données déséquilibrées, nous vous invitons à découvrir nos formations en Data Science.