Accéder au contenu principal Passer au contenu complémentaire

Équilibrage de classes

Dans un problème de classification binaire, il se peut qu'il existe davantage de données collectées pour une des deux classes. Ce déséquilibre entre les classes conduit le modèle à en apprendre plus sur la classe majoritaire que sur la classe minoritaire. Vous pouvez utiliser l'équilibrage de classes pour améliorer le modèle.

En quoi consiste l'équilibrage de classes

Dans un jeu de données utilisé pour une classification binaire, il existe deux classes. L'équilibrage de classes est la fréquence relative de ces classes.

Si vous retournez une pièce de monnaie parfaitement aléatoire un nombre suffisant de fois, vous obtiendrez un ensemble de deux classes (pile et face) parfaitement équilibré. Dans une situation parfaitement équilibrée (où une classe est 1 et l'autre classe est 0), la valeur de classe moyenne est égale à 0.5.

Deux classes parfaitement équilibrées

Graphique à barres avec deux classes équilibrées.

Dans de nombreux cas, les classes ne seront pas équilibrées. Cela peut conduire le modèle à en apprendre plus sur la classe majoritaire que sur la classe minoritaire.

Exemples de classes déséquilibrées

Graphique à barres avec des classes déséquilibrées.

Biais proportionnel

Un modèle peut s'avérer extrêmement exact en devinant la classe majoritaire de données déséquilibrées. Par exemple, si 95 % des visiteurs d'un site Web n'achètent rien, un modèle peut être exact à 95 % en déclarant que personne n'achètera rien. Le modèle apprend de la classe majoritaire, alors qu'il est souvent plus important d'apprendre de la classe minoritaire. Par exemple, pourquoi les 5 % restants des visiteurs du site Web achètent-ils quelque chose ?

Effets de l'équilibrage de classes

En appliquant un équilibrage de classes à vos données, vous pouvez peut-être obtenir un modèle davantage axé sur les caractéristiques et qui en a appris davantage sur la classe minoritaire. Effets potentiels sur le modèle :

  • Score F1 supérieur en raison de l'augmentation du poids de la classe minoritaire.

  • Score d'exactitude général marginalement inférieur, car il ne s'appuie pas autant sur le biais proportionnel.

  • Modèle plus informatif, car il s'appuie davantage sur les caractéristiques et sur la manière de distinguer les classes comme étant séparées. Dans un modèle avec des classes équilibrées, il se peut que les valeurs de Shapley soient plus informatives.

Notez que, dans les petits jeux de données, l'équilibrage de classes peut entraîner une perte de données de caractéristiques. En outre, la modification des proportions du jeu de données peut entraîner une perte d'informations, ce qui peut fausser les prédictions du modèle.

Comment équilibrer les classes

Pour équilibrer les classes des données, vous devez commencer par rechercher quel serait l'équilibre idéal pour votre cas d'utilisation spécifique. Cet équilibre peut varier de 80/20 à 50/50. Équilibrez juste les charges de sorte à obtenir ce dont vous avez besoin ; en effet, si vous affinez trop l'équilibrage de classes, vous risquez d'entraîner un surapprentissage du modèle. Ensuite, testez le modèle via des rétentions manuelles.

La méthode d'équilibrage de classes la plus courante consiste à sous-échantillonner. Ainsi, en échantillonnant la classe majoritaire de manière aléatoire, vous parvenez à mieux l'équilibrer par rapport à la classe minoritaire. La figure illustre la manière dont les échantillons sont prélevés de la classe majoritaire du jeu de données d'origine pour obtenir un jeu de données avec des classes équilibrées.

Sous-échantillonnage de la classe majoritaire (en bleu) pour obtenir un équilibre avec la classe minoritaire (en jaune)

Exemple de sous-échantillonnage.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !