Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Encodeur Ordinal | Prétraitement des Données avec Scikit-learn
Introduction au ML Avec Scikit-Learn

bookEncodeur Ordinal

Le prochain problème à traiter concerne les données catégorielles. Il existe deux principaux types de variables catégorielles.

Les données ordinales possèdent un ordre naturel, tandis que les données nominales n’en ont pas. En raison de cet ordre, les catégories peuvent être codées sous forme de nombres selon leur classement.

Par exemple, une colonne 'rate' avec les valeurs 'Terrible', 'Bad', 'OK', 'Good' et 'Great' peut être codée comme suit :

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

Pour encoder des données ordinales, on utilise le OrdinalEncoder. Celui-ci convertit les catégories en entiers à partir de 0.

OrdinalEncoder s’applique de la même manière que les autres transformateurs. La principale difficulté réside dans la spécification correcte de l’argument categories.

Par exemple, considérons un jeu de données (différent du jeu de données penguins) contenant une colonne 'education'. La première étape consiste à vérifier ses valeurs uniques.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
copy

Une liste ordonnée de valeurs catégorielles doit être créée, allant de 'HS-grad' à 'Doctorate'.

1234567891011121314
import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
copy

Lors de la transformation de plusieurs caractéristiques avec OrdinalEncoder, les catégories pour chaque colonne doivent être spécifiquement indiquées. Cela se fait via l'argument categories :

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. Quelle affirmation décrit le mieux l'utilisation de OrdinalEncoder pour traiter les données catégorielles dans un jeu de données ?

2. Supposons que vous ayez une colonne catégorielle nommée 'Color'. Serait-il approprié d'utiliser OrdinalEncoder pour encoder ses valeurs ?

question mark

Quelle affirmation décrit le mieux l'utilisation de OrdinalEncoder pour traiter les données catégorielles dans un jeu de données ?

Select the correct answer

question mark

Supposons que vous ayez une colonne catégorielle nommée 'Color'. Serait-il approprié d'utiliser OrdinalEncoder pour encoder ses valeurs ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5

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 3.13

bookEncodeur Ordinal

Glissez pour afficher le menu

Le prochain problème à traiter concerne les données catégorielles. Il existe deux principaux types de variables catégorielles.

Les données ordinales possèdent un ordre naturel, tandis que les données nominales n’en ont pas. En raison de cet ordre, les catégories peuvent être codées sous forme de nombres selon leur classement.

Par exemple, une colonne 'rate' avec les valeurs 'Terrible', 'Bad', 'OK', 'Good' et 'Great' peut être codée comme suit :

  • 'Terrible' → 0
  • 'Bad' → 1
  • 'OK' → 2
  • 'Good' → 3
  • 'Great' → 4

Pour encoder des données ordinales, on utilise le OrdinalEncoder. Celui-ci convertit les catégories en entiers à partir de 0.

OrdinalEncoder s’applique de la même manière que les autres transformateurs. La principale difficulté réside dans la spécification correcte de l’argument categories.

Par exemple, considérons un jeu de données (différent du jeu de données penguins) contenant une colonne 'education'. La première étape consiste à vérifier ses valeurs uniques.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') print(df['education'].unique())
copy

Une liste ordonnée de valeurs catégorielles doit être créée, allant de 'HS-grad' à 'Doctorate'.

1234567891011121314
import pandas as pd from sklearn.preprocessing import OrdinalEncoder # Load the data and assign X, y variables df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/adult_edu.csv') y = df['income'] # 'income' is a target in this dataset X = df.drop('income', axis=1) # Create a list of categories so HS-grad is encoded as 0 and Doctorate as 6 edu_categories = ['HS-grad', 'Some-college', 'Assoc', 'Bachelors', 'Masters', 'Prof-school', 'Doctorate'] # Initialize an OrdinalEncoder instance with the correct categories ord_enc = OrdinalEncoder(categories=[edu_categories]) # Transform the 'education' column and print it X['education'] = ord_enc.fit_transform(X[['education']]) print(X['education'])
copy

Lors de la transformation de plusieurs caractéristiques avec OrdinalEncoder, les catégories pour chaque colonne doivent être spécifiquement indiquées. Cela se fait via l'argument categories :

encoder = OrdinalEncoder(categories=[col1_categories, col2_categories, ...])

1. Quelle affirmation décrit le mieux l'utilisation de OrdinalEncoder pour traiter les données catégorielles dans un jeu de données ?

2. Supposons que vous ayez une colonne catégorielle nommée 'Color'. Serait-il approprié d'utiliser OrdinalEncoder pour encoder ses valeurs ?

question mark

Quelle affirmation décrit le mieux l'utilisation de OrdinalEncoder pour traiter les données catégorielles dans un jeu de données ?

Select the correct answer

question mark

Supposons que vous ayez une colonne catégorielle nommée 'Color'. Serait-il approprié d'utiliser OrdinalEncoder pour encoder ses valeurs ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 5
some-alt