Guide rapide sur la formation d'ensembles de données très déséquilibrés


29

J'ai un problème de classification avec environ 1000 échantillons positifs et 10000 négatifs dans l'ensemble de formation. Cet ensemble de données est donc assez déséquilibré. La forêt aléatoire simple tente simplement de marquer tous les échantillons de test comme une classe majoritaire.

Voici quelques bonnes réponses sur le sous-échantillonnage et la forêt aléatoire pondérée: quelles sont les implications pour la formation d'un ensemble d'arbres avec des ensembles de données fortement biaisés?

Quelles méthodes de classification en plus de RF peuvent gérer le problème de la meilleure façon?


Réponses:


19
  • Max Kuhn le couvre bien dans le Ch16 de la modélisation prédictive appliquée .
  • Comme mentionné dans le thread lié, les données déséquilibrées sont essentiellement un problème de formation sensible aux coûts. Ainsi, toute approche sensible aux coûts est applicable aux données déséquilibrées.
  • Il existe un grand nombre de ces approches. Pas tous implémentés dans R: C50, les SVM pondérés sont des options. Jous-boost. Je pense que Rusboost n'est disponible qu'en code Matlab.
  • Je n'utilise pas Weka, mais je pense qu'il a un grand nombre de classificateurs sensibles aux coûts.
  • Gestion des ensembles de données déséquilibrés: un examen : Sotiris Kotsiantis, Dimitris Kanellopoulos, Panayiotis Pintelas '
  • Sur le problème de déséquilibre de classe : Xinjian Guo, Yilong Yin, Cailing Dong, Gongping Yang, Guangtong Zhou

16

Le sous-échantillonnage de la classe majoritaire est généralement la voie à suivre dans de telles situations.

Si vous pensez que vous avez trop peu d'instances de la classe positive, vous pouvez effectuer un suréchantillonnage, par exemple, échantillonner 5n instances avec remplacement à partir de l'ensemble de données de taille n.

Mises en garde:

  • Certaines méthodes peuvent être sensibles aux changements dans la distribution des classes, par exemple pour Naive Bayes - elles affectent les probabilités antérieures.
  • Un suréchantillonnage peut entraîner un sur-ajustement

Ou peut-être essayer un algorithme de clustering et utiliser les centres de cluster?
Leela Prabhu

Vous pouvez vérifier ce lien pour le suréchantillonnage et d'autres méthodes pour traiter les ensembles de données déséquilibrés.
janpreet singh

11

L'amplification du dégradé est également un bon choix ici. Vous pouvez utiliser le classificateur de renforcement de gradient dans sci-kit learn par exemple. L'amplification du gradient est une méthode de principe pour traiter le déséquilibre de classe en construisant des ensembles d'entraînement successifs basés sur des exemples mal classés.


1
Ma compréhension est que l'amplification du gradient souffre des mêmes limitations que RF lorsqu'il s'agit de données déséquilibrées: sci2s.ugr.es/keel/pdf/algorithm/articulo/…
charles

1
Le renforcement est une étape supplémentaire que vous prenez dans la construction de la forêt qui résout directement le déséquilibre. Le document que vous liez le note dans l'introduction indiquant que le boosting aide même dans les cas où il n'y a pas de déséquilibre. Et ce document conclut que le renforcement aide considérablement. Vous ne savez donc pas où l'équivalence entre RF et boosting est montrée ici?
cwharland du

1

En plus des réponses affichées ici, si le nombre d'exemples positifs est beaucoup trop faible par rapport aux exemples négatifs, cela se rapproche d'un problème de détection d'anomalies où les exemples positifs sont les anomalies.

Vous disposez de toute une gamme de méthodes pour détecter les anomalies allant de l'utilisation de la distribution gaussienne multivariée pour modéliser tous les points, puis choisir ceux qui sont à 2 ou 3 stds de la moyenne.

Une autre matière à réflexion - j'ai vu pas mal de gens qui échantillonnent au hasard les exemples négatifs avec plus d'exemples afin que les deux classes soient les mêmes en nombre. Cela dépend totalement du problème en cause, que nous voulions qu'ils soient équilibrés ou non.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.