Quelles sont les méthodes pour travailler avec des variables catégorielles?
sobes.tech IA
Réponse de l'IA
Les caractéristiques catégorielles en apprentissage automatique sont traitées principalement de plusieurs manières :
-
Encodage par étiquette (Label Encoding) — chaque catégorie se voit attribuer un nombre unique. Convient pour les catégories ordonnées, mais peut induire en erreur le modèle si l'ordre n'est pas présent.
-
Encodage one-hot — une caractéristique binaire est créée pour chaque catégorie. Par exemple, la caractéristique "Couleur" avec les catégories {rouge, bleu, vert} est transformée en trois caractéristiques binaires.
-
Encodage cible (Target Encoding) — les catégories sont remplacées par la statistique de la variable cible (par exemple, la moyenne de la variable cible pour chaque catégorie). Nécessite de la prudence pour éviter la fuite de données.
-
Encodage par fréquence — les catégories sont remplacées par leur fréquence d'apparition dans les données.
-
Embeddings — pour les catégories avec un grand nombre de valeurs uniques (par exemple, en NLP), des représentations vectorielles apprises conjointement avec le modèle sont utilisées.
Le choix de la méthode dépend de la tâche, du modèle et du volume de données. Par exemple, pour les arbres de décision, la codification Label ou One-Hot suffit souvent, tandis que pour les réseaux neuronaux — embeddings.
Exemple de codification one-hot en Python avec pandas :
import pandas as pd
df = pd.DataFrame({'Couleur': ['rouge', 'bleu', 'vert', 'bleu']})
df_encoded = pd.get_dummies(df, columns=['Couleur'])
print(df_encoded)
Résultat :
Couleur_rouge Couleur_vert Couleur_bleu
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1