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 ?