Comment effectuer un encodage One-Hot dans R



L’encodage à chaud est utilisé pour convertir les variables catégorielles dans un format pouvant être utilisé par les algorithmes d’apprentissage automatique .

L’idée de base du codage one-hot est de créer de nouvelles variables qui prennent les valeurs 0 et 1 pour représenter les valeurs catégorielles d’origine.

Par exemple, l’image suivante montre comment nous effectuerions un codage à chaud pour convertir une variable catégorielle contenant des noms d’équipe en de nouvelles variables contenant uniquement des valeurs 0 et 1 :

L’exemple suivant, étape par étape, montre comment effectuer un codage ponctuel pour cet ensemble de données exact dans R.

Étape 1 : Créer les données

Tout d’abord, créons le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'),
                 points=c(25, 12, 15, 14, 19, 23, 25, 29))

#view data frame
df

  team points
1    A     25
2    A     12
3    B     15
4    B     14
5    B     19
6    B     23
7    C     25
8    C     29

Étape 2 : Effectuer un encodage à chaud

Utilisons ensuite la fonction dummyVars() du package caret pour effectuer un encodage à chaud sur la variable ‘team’ dans le bloc de données :

library(caret)

#define one-hot encoding function
dummy <- dummyVars(" ~ .", data=df)

#perform one-hot encoding on data frame
final_df <- data.frame(predict(dummy, newdata=df))

#view final data frame
final_df

  teamA teamB teamC points
1     1     0     0     25
2     1     0     0     12
3     0     1     0     15
4     0     1     0     14
5     0     1     0     19
6     0     1     0     23
7     0     0     1     25
8     0     0     1     29 

Notez que trois nouvelles colonnes ont été ajoutées au bloc de données puisque la colonne « équipe » d’origine contenait trois valeurs uniques.

Notez également que la colonne « équipe » d’origine a été supprimée du bloc de données car elle n’est plus nécessaire.

L’encodage à chaud est terminé et nous pouvons désormais introduire cet ensemble de données dans n’importe quel algorithme d’apprentissage automatique de notre choix.

Remarque : Vous pouvez trouver la documentation complète en ligne de la fonction dummyVars() ici .

Ressources additionnelles

Les didacticiels suivants offrent des informations supplémentaires sur l’utilisation de variables catégorielles :

Comment créer des variables catégorielles dans R
Comment tracer des données catégorielles dans R
Variables catégorielles ou quantitatives : quelle est la différence ?

Ajouter un commentaire

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