vous devez gérer le déséquilibre de classe si / parce que cela améliore votre modèle (sur des données invisibles). "Mieux" est quelque chose que vous devez définir vous-même. Ce pourrait être la précision, ce pourrait être un coût, ce pourrait être le vrai taux positif, etc.
Il y a une nuance subtile qu'il est important de saisir lorsque l'on parle de déséquilibre de classe. À savoir, vos données sont-elles déséquilibrées parce que:
- la distribution des données est elle-même déséquilibrée
Dans certains cas, une classe se produit beaucoup plus qu'une autre. Et ça va. Dans ce cas, vous devez vérifier si certaines erreurs sont plus coûteuses que d'autres. C'est l'exemple typique de la détection de maladies mortelles chez les patients, de déterminer si quelqu'un est un terroriste, etc. Cela revient à la réponse courte. Si certaines erreurs sont plus coûteuses que d'autres, vous voudrez les "punir" en leur donnant un coût plus élevé. Par conséquent, un meilleur modèle aura un coût inférieur. Si toutes les erreurs sont aussi graves, il n'y a aucune raison réelle d'utiliser des modèles sensibles aux coûts.
Il est également important de noter que l'utilisation de modèles sensibles aux coûts n'est pas spécifique aux ensembles de données déséquilibrés. Vous pouvez également utiliser de tels modèles si vos données sont parfaitement équilibrées.
- il ne représente pas la vraie distribution des données
Parfois, vos données sont «déséquilibrées» car elles ne représentent pas la véritable distribution des données. Dans ce cas, vous devez être prudent, car vous avez "trop" d'exemples d'une classe et "trop peu" de l'autre, et par conséquent, vous devez vous assurer que votre modèle ne sur / sous-habille pas sur une de ces classes.
C'est différent de l'utilisation des coûts, car il est possible qu'une erreur soit pire qu'une autre. Ce qui se passerait, c'est que vous seriez biaisé et ce ne serait pas bénéfique pour votre modèle si les données invisibles n'ont pas la même distribution que les données sur lesquelles vous vous êtes entraîné.
Disons que je vous donne des données d'entraînement et que votre objectif est de deviner si quelque chose est rouge ou bleu. Que vous confondiez le bleu avec le rouge ou le rouge avec le bleu ne fait pas beaucoup de différence. Vos données d'entraînement contiennent 90% d'instances rouges alors que dans la vraie vie, elles ne surviennent que 10% du temps. Vous devrez y faire face afin d'améliorer votre modèle.