Encodage d’étiquettes ou encodage à chaud : quelle est la différence ?



Souvent, en apprentissage automatique, nous souhaitons convertir des variables catégorielles en un type de format numérique pouvant être facilement utilisé par les algorithmes.

Il existe deux manières courantes de convertir des variables catégorielles en variables numériques :

1. Encodage des étiquettes : attribuez à chaque valeur catégorielle une valeur entière basée sur l’ordre alphabétique.

2. One Hot Encoding : créez de nouvelles variables qui prennent les valeurs 0 et 1 pour représenter les valeurs catégorielles d’origine.

Par exemple, supposons que nous ayons l’ensemble de données suivant avec deux variables et que nous souhaitions convertir la variable Team d’une variable catégorielle en une variable numérique :

Les exemples suivants montrent comment utiliser à la fois l’encodage d’étiquette et un encodage à chaud pour ce faire.

Exemple : utilisation du codage d’étiquette

En utilisant label encoding , nous convertirions chaque valeur unique de la colonne Team en une valeur entière basée sur l’ordre alphabétique :

Dans cet exemple, nous pouvons voir :

  • Chaque valeur « A » a été convertie en 0 .
  • Chaque valeur « B » a été convertie en 1 .
  • Chaque valeur « C » a été convertie en 2 .

Nous avons réussi à convertir la colonne Équipe d’une variable catégorielle en une variable numérique.

Exemple : utilisation d’un seul encodage à chaud

En utilisant un codage à chaud , nous convertirions la colonne Team en de nouvelles variables contenant uniquement des valeurs 0 et 1 :

Lorsque nous utilisons cette approche, nous créons une nouvelle colonne pour chaque valeur unique dans la variable catégorielle d’origine.

Par exemple, la variable catégorielle Team avait trois valeurs uniques , nous avons donc créé trois nouvelles colonnes dans l’ensemble de données qui contiennent toutes des valeurs 0 ou 1.

Voici comment interpréter les valeurs des nouvelles colonnes :

  • La valeur de la nouvelle colonne Team_A est 1 si la valeur d’origine de la colonne Team était A. Sinon, la valeur est 0.
  • La valeur de la nouvelle colonne Team_B est 1 si la valeur d’origine de la colonne Team était B. Sinon, la valeur est 0.
  • La valeur de la nouvelle colonne Team_C est 1 si la valeur d’origine de la colonne Team était C. Sinon, la valeur est 0.

Nous avons réussi à convertir la colonne Équipe d’une variable catégorielle en trois variables numériques – parfois appelées variables « factices ».

Remarque : lorsque vous utilisez ces variables « factices » dans un modèle de régression ou un autre algorithme d’apprentissage automatique, veillez à éviter le piège des variables factices .

Quand utiliser l’encodage d’étiquettes plutôt qu’un encodage à chaud

Dans la plupart des scénarios, un codage à chaud constitue le moyen privilégié pour convertir une variable catégorielle en variable numérique, car le codage d’étiquette donne l’impression qu’il existe un classement entre les valeurs.

Par exemple, considérons le cas où nous avons utilisé le codage d’étiquettes pour convertir l’équipe en une variable numérique :

Les données codées par l’étiquette donnent l’impression que l’équipe C est en quelque sorte plus grande ou plus grande que les équipes B et A puisqu’elle a une valeur numérique plus élevée.

Ce n’est pas un problème si la variable catégorielle d’origine est en réalité une variable ordinale avec un ordre ou un classement naturel, mais dans de nombreux scénarios, ce n’est pas le cas.

Cependant, l’un des inconvénients du codage à chaud est qu’il vous oblige à créer autant de nouvelles variables qu’il y a de valeurs uniques dans la variable catégorielle d’origine.

Cela signifie que si votre variable catégorielle a 100 valeurs uniques, vous devrez créer 100 nouvelles variables lors de l’utilisation d’un encodage à chaud.

En fonction de la taille de votre ensemble de données et du type de variables avec lesquelles vous travaillez, vous préférerez peut-être un codage à chaud ou un codage par étiquette.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer l’encodage des étiquettes en pratique :

Les tutoriels suivants expliquent comment réaliser un encodage à chaud en pratique :

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *