CommencerCommencer gratuitement

Encodages catégoriels

Votre collègue a converti les colonnes du jeu de données de crédit en valeurs numériques à l’aide de LabelEncoder(). Il en a laissé une de côté : credit_history, qui indique l’historique de crédit du demandeur. Vous souhaitez créer deux versions du jeu de données : l’une utilisant LabelEncoder() et l’autre un one-hot encoding, afin de les comparer. La matrice de caractéristiques vous est fournie sous le nom credit. LabelEncoder() est déjà importé et pandas est disponible en tant que pd.

Cet exercice fait partie du cours

Concevoir des workflows de Machine Learning en Python

Afficher le cours

Instructions

  • Encodez credit_history avec LabelEncoder().
  • Concaténez le résultat au DataFrame d’origine.
  • Créez un nouveau DataFrame en concaténant les variables indicatrices (one-hot encoding) au DataFrame d’origine.
  • Vérifiez que le one-hot encoding produit plus de colonnes que l’encodage par labels.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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[____])
Modifier et exécuter le code