Quand devrions-nous considérer un ensemble de données comme déséquilibré?


10

Je suis confronté à une situation où les nombres d'exemples positifs et négatifs dans un ensemble de données sont déséquilibrés.

Ma question est la suivante: y a-t-il des règles empiriques qui nous disent quand nous devons sous-échantillonner la grande catégorie afin de forcer une sorte d'équilibrage dans l'ensemble de données.

Exemples:

  • Si le nombre d'exemples positifs est de 1 000 et le nombre d'exemples négatifs est de 10 000, dois-je choisir de former mon classificateur sur l'ensemble de données complet ou dois-je sous-échantillonner les exemples négatifs?
  • La même question pour 1000 exemples positifs et 100 000 négatifs.
  • La même question pour 10 000 positifs et 1 000 négatifs.
  • etc...

Il n'y a rien de mal avec les ensembles de données qui ne se divisent pas parfaitement au milieu en soi. Quelle technique de modélisation utilisez-vous? Si la technique repose sur des données «équilibrées», vous utilisez peut-être la mauvaise technique.
D3C34C34D

1
Nina Zumel examine les effets de l'équilibrage sur différents estimateurs ici , cela peut également aider les autres. Elle examine la forêt aléatoire, le SVM et une estimation logit.
CFM

Réponses:


9

Je pense que le sous-échantillonnage (sous-échantillonnage) est une méthode populaire pour contrôler le déséquilibre de classe au niveau de base, ce qui signifie qu'il corrige la racine du problème. Donc, pour tous vos exemples, sélectionner chaque fois au hasard 1 000 de la majorité de la classe fonctionnerait. Vous pouvez même jouer avec la création de 10 modèles (10 fois la majorité de 1000 contre la minorité de 1000) afin que vous utilisiez l'ensemble de vos données. Vous pouvez utiliser cette méthode, mais encore une fois, vous jetez 9 000 échantillons à moins que vous n'essayiez quelques méthodes d'ensemble. Solution facile, mais difficile à obtenir un modèle optimal basé sur vos données.

La mesure dans laquelle vous devez contrôler le déséquilibre de classe dépend en grande partie de votre objectif. Si vous vous souciez de la classification pure, le déséquilibre affecterait la coupure de probabilité de 50% pour la plupart des techniques, donc je considérerais le sous-échantillonnage. Si vous ne vous souciez que de l'ordre des classifications (voulez des positifs généralement plus élevés que des négatifs) et utilisez une mesure telle que l'ASC, le déséquilibre de classe ne fera que biaiser vos probabilités, mais l'ordre relatif devrait être décemment stable pour la plupart des techniques.

La régression logistique est agréable pour le déséquilibre de classe car tant que vous avez> 500 de la classe minoritaire, les estimations des paramètres seront suffisamment précises et le seul impact sera sur l'interception, qui peut être corrigée si c'est quelque chose que vous pourriez vouloir. La régression logistique modélise les probabilités plutôt que simplement les classes, vous pouvez donc effectuer plus d'ajustements manuels en fonction de vos besoins.

De nombreuses techniques de classification ont également un argument de poids de classe qui vous aidera à vous concentrer davantage sur la classe minoritaire. Cela pénalisera le classement raté d'une véritable classe minoritaire, donc votre précision globale en souffrira un peu, mais vous commencerez à voir plus de classes minoritaires correctement classées.


Pourriez-vous développer votre orientation "tant que vous avez> 500 de la classe minoritaire"? Où avez-vous obtenu ce nombre de 500? Est-ce basé sur votre expérience? J'attendais un pourcentage de votre réponse.
Jas

2

Le déséquilibre n'est pas défini formellement, mais un rapport de 1 à 10 est généralement suffisamment déséquilibré pour bénéficier de l'utilisation de la technique d'équilibrage.

Il existe deux types de déséquilibre, relatif et absolu. Dans le relatif, les rapports entre les classes majoritaires et minoritaires sont déséquilibrés. En absolu, vous disposez également d'un petit nombre d'échantillons minoritaires. Plus le rapport de déséquilibre est élevé, plus vous atteindrez probablement un déséquilibre absolu.

Veuillez noter qu'un sous-échantillonnage simple n'est pas un moyen optimal de faire face à un ensemble de données déséquilibré. En effet, vous devez créer un classificateur qui fonctionnera bien sur votre jeu de données d'origine. Pour une technique de construction de classificateurs sur des jeux de données déséquilibrés, voir ici . Pour évaluer votre classificateur, voir ici .


2

Problème de déséquilibre des données ?? En théorie, il ne s'agit que de chiffres. Même si la différence est de 1 échantillon, c'est un déséquilibre des données

En pratique, dire que c'est un problème de déséquilibre des données est contrôlé par trois choses: 1. Le nombre et la distribution des échantillons que vous avez 2. La variation au sein de la même classe 3. Les similitudes entre les différentes classes

Les deux derniers points changent la façon dont nous considérons notre problème.

Pour expliquer cela, permettez-moi de donner un exemple: Classe A = 100 échantillons Classe B = 10 000

Si la variation au sein de la classe B est très faible, alors un échantillonnage à la baisse sera suffisant, il n'y a pas de problème de déséquilibre des données

Si la variation est très élevée au sein de la classe b, un échantillonnage à la baisse peut entraîner une perte d'informations Et il est dangereux d'appliquer un échantillonnage à la baisse

Un autre point, le fait d'avoir beaucoup d'échantillons (principalement pour la classe minoritaire) atténuera le problème de déséquilibre des données et facilitera le traitement

Par exemple 10: 100. Vs. 1000: 10 000

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.