Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Encodage des Variables Catégorielles | Concepts Fondamentaux
Analyse de Clusters

bookEncodage des Variables Catégorielles

Les algorithmes de clustering comme K-means nécessitent des données numériques. Les variables catégorielles doivent être converties en format numérique à l'aide d'un encodage. Présentation de l'encodage ordinal et de l'encodage one-hot.

Encodage ordinal

L'encodage ordinal convertit des catégories ordonnées en valeurs numériques, en préservant leur rang. Par exemple, l'encodage ordinal de la colonne 'education_level' transformera ses valeurs de "High School", "Bachelor's", "Master's", 'PhD' en 0, 1, 2, 3.

Cela suppose une différence numérique significative entre les valeurs encodées, ce qui n'est pas toujours exact.

from sklearn.preprocessing import OrdinalEncoder

education_levels = [['High School',
                     "Bachelor's",
                     "Master's",
                     "PhD"]]
encoder = OrdinalEncoder(categories=education_levels)

df[['education_encoded']] = encoder.fit_transform(df[['education_level']]) 

Encodage one-hot

L'encodage one-hot convertit les catégories nominales (non ordonnées) en colonnes binaires, où chaque catégorie devient une nouvelle colonne. Pour une variable comportant n catégories, cela crée généralement n colonnes — une colonne vaut 1 pour la catégorie correspondante, les autres valent 0. Cependant, seules n-1 colonnes sont nécessaires pour représenter l'information sans redondance.

Par exemple, une colonne 'color' avec les valeurs 'red', 'blue' et 'green' peut être encodée avec seulement deux colonnes : 'color_red' et 'color_blue'. Si une ligne a 0 dans les deux colonnes, cela implique que la couleur est 'green'. En supprimant une colonne, on évite la redondance.

La suppression de la colonne redondante est spécifiée via drop='first' :

from sklearn.preprocessing import OneHotEncoder 

encoder = OneHotEncoder(drop='first', sparse=False) 

encoded = encoder.fit_transform(df[['color']]) 
question mark

Quelle méthode d'encodage convient le mieux à une variable catégorielle telle que 'country' avec des valeurs comme "USA", "Canada" et "Germany", où il n'existe pas d'ordre naturel ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 2.94

bookEncodage des Variables Catégorielles

Glissez pour afficher le menu

Les algorithmes de clustering comme K-means nécessitent des données numériques. Les variables catégorielles doivent être converties en format numérique à l'aide d'un encodage. Présentation de l'encodage ordinal et de l'encodage one-hot.

Encodage ordinal

L'encodage ordinal convertit des catégories ordonnées en valeurs numériques, en préservant leur rang. Par exemple, l'encodage ordinal de la colonne 'education_level' transformera ses valeurs de "High School", "Bachelor's", "Master's", 'PhD' en 0, 1, 2, 3.

Cela suppose une différence numérique significative entre les valeurs encodées, ce qui n'est pas toujours exact.

from sklearn.preprocessing import OrdinalEncoder

education_levels = [['High School',
                     "Bachelor's",
                     "Master's",
                     "PhD"]]
encoder = OrdinalEncoder(categories=education_levels)

df[['education_encoded']] = encoder.fit_transform(df[['education_level']]) 

Encodage one-hot

L'encodage one-hot convertit les catégories nominales (non ordonnées) en colonnes binaires, où chaque catégorie devient une nouvelle colonne. Pour une variable comportant n catégories, cela crée généralement n colonnes — une colonne vaut 1 pour la catégorie correspondante, les autres valent 0. Cependant, seules n-1 colonnes sont nécessaires pour représenter l'information sans redondance.

Par exemple, une colonne 'color' avec les valeurs 'red', 'blue' et 'green' peut être encodée avec seulement deux colonnes : 'color_red' et 'color_blue'. Si une ligne a 0 dans les deux colonnes, cela implique que la couleur est 'green'. En supprimant une colonne, on évite la redondance.

La suppression de la colonne redondante est spécifiée via drop='first' :

from sklearn.preprocessing import OneHotEncoder 

encoder = OneHotEncoder(drop='first', sparse=False) 

encoded = encoder.fit_transform(df[['color']]) 
question mark

Quelle méthode d'encodage convient le mieux à une variable catégorielle telle que 'country' avec des valeurs comme "USA", "Canada" et "Germany", où il n'existe pas d'ordre naturel ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 2
some-alt