Tout d'abord, je voudrais décrire quelques dispositions courantes que les livres d'exploration de données utilisent pour expliquer comment traiter les ensembles de données non équilibrés . Habituellement, la section principale est intitulée Ensembles de données non équilibrés et couvre ces deux sous-sections: Techniques de classification et d'échantillonnage sensibles aux coûts.
Il semble que face à un problème avec une classe rare , vous pouvez effectuer à la fois une classification et un échantillonnage sensibles aux coûts. Au lieu de cela, je pense que l'on devrait appliquer des techniques sensibles aux coûts si la classe rare est également la cible de la classification et qu'une mauvaise classification d'un enregistrement de cette classe est coûteuse.
D'un autre côté, les techniques d'échantillonnage, comme le suréchantillonnage et le sous-échantillonnage, sont utiles si la cible de la classification est une bonne précision globale, sans se concentrer sur une classe particulière.
Cette croyance vient de la logique de MetaCost qui est un moyen général de rendre un classificateur sensible aux coûts: si l'on veut rendre un classificateur sensible aux coûts afin de pénaliser une erreur de classification erronée de la classe rare, il doit suréchantillonner l'autre classe . En gros, le classificateur essaie de s'adapter à l'autre classe et il devient spécifique à la classe rare.
C'est l'opposé du suréchantillonnage de la classe rare, qui est la manière généralement suggérée de résoudre ce problème. Le suréchantillonnage de la classe rare ou le sous-échantillonnage de l'autre classe est utile pour améliorer la précision globale.
S'il vous plaît, ce serait génial si vous confirmiez mes pensées.
Cela dit, la question commune à laquelle est confronté un ensemble de données déséquilibré est:
Dois-je essayer d'obtenir un ensemble de données qui compte autant d'enregistrements rares que d'autres?
Ma réponse serait, au cas où vous recherchez la précision: OK. Vous pouvez l'exécuter en recherchant des exemples de classe plus rares ou en supprimant certains enregistrements de l'autre classe.
Dans le cas où vous vous concentrez sur la classe rare, avec une technique sensible aux coûts, je répondrais: vous ne pouvez trouver que des exemples de classe plus rares mais vous ne devez pas supprimer les enregistrements de l'autre classe. Dans ce dernier cas, vous ne pourrez pas laisser le classificateur s'adapter à l'autre classe, et l'erreur de classification erronée rare pourrait augmenter.
Que répondriez-vous?
Réponses:
C'est une bonne question. Personnellement, ma réponse serait qu'il ne serait jamais judicieux de jeter des données (à moins que ce soit pour des raisons de calcul), car plus vous avez de données, mieux votre modèle du monde peut être. Par conséquent, je suggérerais que la modification de la fonction de coût de manière appropriée pour votre tâche devrait être suffisante. Par exemple, si vous êtes intéressé par une classe rare particulière, vous pouvez faire des erreurs de classification de cette classe seulement plus cher; si vous êtes intéressé par une mesure équilibrée, quelque chose comme le taux d'erreur équilibré (la moyenne des erreurs sur chaque classe) ou le coefficient de corrélation de Matthews est approprié; si vous ne vous intéressez qu'à l'erreur de classement globale, la traditionnelle perte 0-1 .
Une approche moderne du problème consiste à utiliser l'apprentissage actif. Par exemple, Hospedales et al (2011) «Finding Rare Classes: Active Learning with Generative and Discriminative Models, IEEE Transactions on Knowledge and Data Engineering, (TKDE 2011) . Cependant, je pense que ces approches sont encore relativement moins matures.
la source