Encodages catégoriels
Votre collègue a converti les colonnes du jeu de données de crédit en valeurs numériques avec LabelEncoder(). Il en a laissé une de côté : credit_history, qui indique l'historique de crédit de la personne demanderesse. Vous voulez créer deux versions du jeu de données. L'une utilisera LabelEncoder() et l'autre le one-hot encoding, afin de pouvoir les comparer. La matrice de caractéristiques est fournie sous le nom credit. Vous avez LabelEncoder() préchargé et pandas sous pd.
Cette activité fait partie du cours
Concevoir des flux de travail Machine Learning en Python
Instructions de l’exercice
- Encodez
credit_historyavecLabelEncoder(). - Concaténez le résultat à la trame d'origine.
- Créez une nouvelle trame de données en concaténant les variables fictives issues du one-hot encoding à la trame d'origine.
- Confirmez que le one-hot encoding produit plus de colonnes que l'encodage par étiquettes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Create numeric encoding for credit_history
credit_history_num = ____.____(
credit[____])
# Create a new feature matrix including the numeric encoding
X_num = pd.concat([X, pd.Series(____)], ____)
# Create new feature matrix with dummies for credit_history
X_hot = pd.concat(
[X, ____.____(credit[____])], ____)
# Compare the number of features of the resulting DataFrames
print(X_hot.shape[____] > X_num.shape[____])