C'est une question en général, non spécifique à une méthode ou à un ensemble de données. Comment traiter un problème de déséquilibre de classe dans l'apprentissage automatique supervisé, où le nombre de 0 est d'environ 90% et le nombre de 1 d'environ 10% dans votre jeu de données. Comment former de manière optimale le classificateur.
L'une des méthodes que je suis consiste à échantillonner pour équilibrer l'ensemble de données, puis à former le classifieur et à répéter l'opération pour plusieurs échantillons.
Je pense que cela est aléatoire. Existe-t-il un cadre pour aborder ce type de problèmes?
Cela dépend fortement de la méthode d'apprentissage. La plupart des approches générales ont un (ou plusieurs) moyen de gérer cela. Une solution courante consiste à attribuer à la classe minoritaire une pénalité de classification plus élevée, ce qui oblige le classifieur à les reconnaître (SVM, régression logistique, réseaux de neurones, ...).
Changer d'échantillonnage est aussi une possibilité, comme vous le dites. Dans ce cas, suréchantillonner la classe minoritaire est généralement une meilleure solution que de sous-échantillonner la classe majoritaire.
Certaines méthodes, comme les forêts aléatoires, ne nécessitent aucune modification.
la source
Souvent, le problème n'est pas la fréquence mais le nombre absolu de cas dans la classe minoritaire. Si vous ne subissez pas suffisamment de variations dans la cible par rapport à une variation dans les fonctionnalités, cela peut signifier que l'algorithme ne peut pas classer les choses très précisément.
Une chose est que la pénalité de classification erronée pourrait être utilisée à l'étape de la classification et non à l'étape de l'estimation du paramètre s'il en existe une. Certaines méthodes n'ont pas de concept de paramètre, elles produisent simplement des étiquettes de classe ou des probabilités de classe.
Lorsque vous disposez d'un estimateur probabiliste, vous pouvez alors prendre une décision de classification basée sur des bases théoriques de l'information ou avec une combinaison de valeur commerciale.
la source
Ajoutez deux astuce: 1. utilisez CDF, comptez la fréquence dans vos données d’entraînement ou utilisez une très grande validation (si votre ensemble de tests ne change pas, mais que l’ensemble de validation doit avoir la même distribution que l’ensemble d’entraînement), puis triez votre prédiction et obtenez premier X% (vous comptez la fréquence précédente) pour la première classe et les autres sont / 2. échantillon pondéré, le modèle tendra à la classe pondérée, vous pouvez utiliser la variance d'échantillon v. weighti = 1/2 (1- (vmax - vi) / vmax)
la source