Dans une question récente et bien reçue, Tim demande quand les données non équilibrées sont-elles vraiment un problème dans le Machine Learning ? La prémisse de la question est qu'il y a beaucoup de littérature d'apprentissage automatique discutant de l'équilibre des classes et du problème des classes déséquilibrées . L'idée est que les ensembles de données avec un déséquilibre entre la classe positive et négative causent des problèmes pour certains algorithmes de classification d'apprentissage automatique (j'inclus ici des modèles probabilistes), et des méthodes doivent être recherchées pour "équilibrer" l'ensemble de données, en restaurant le parfait 50/50 répartie entre les classes positives et négatives.
Le sens général des réponses votées est que "ce n'est pas le cas, du moins si vous êtes réfléchi dans votre modélisation". M. Henry L., dans un commentaire positif à une réponse acceptée, déclare
[...] il n'y a pas de problème de bas niveau avec l'utilisation de données asymétriques. D'après mon expérience, le conseil «d'éviter les données déséquilibrées» est soit spécifique à l'algorithme, soit hérité de la sagesse. Je suis d'accord avec AdamO qu'en général, les données déséquilibrées ne posent aucun problème conceptuel à un modèle bien spécifié.
AdamO soutient que le "problème" avec l'équilibre des classes est vraiment un problème de rareté des classes
Par conséquent, au moins en régression (mais je soupçonne en toutes circonstances), le seul problème avec les données déséquilibrées est que vous avez effectivement un petit échantillon. Si une méthode convient au nombre de personnes dans la classe la plus rare, il ne devrait pas y avoir de problème si leur proportion de membres est déséquilibrée.
Si tel est le vrai problème, il laisse une question ouverte: quel est le but de toutes les méthodes de rééchantillonnage destinées à équilibrer l'ensemble de données: suréchantillonnage, sous-échantillonnage, SMOTE, etc.? De toute évidence, ils ne résolvent pas le problème d'avoir implicitement un petit échantillon, vous ne pouvez pas créer des informations à partir de rien!