Aan de slagGa gratis aan de slag

Categorische encoderingen

Je collega heeft de kolommen in de kredietgegevensset omgezet naar numerieke waarden met LabelEncoder(). Eén kolom heeft hij overgeslagen: credit_history, die de kredietgeschiedenis van de aanvrager bevat. Jij wilt twee versies van de gegevensset maken. Eén gebruikt LabelEncoder() en een andere gebruikt one-hot-encoding, om te kunnen vergelijken. De featurematrix is beschikbaar als credit. LabelEncoder() is al ingeladen en pandas als pd.

Deze oefening maakt deel uit van de cursus

Machine Learning-workflows ontwerpen in Python

Cursus bekijken

Oefeninstructies

  • Encodeer credit_history met LabelEncoder().
  • Voeg het resultaat samen met het oorspronkelijke frame.
  • Maak een nieuw data frame door de one-hot-encoding-dummy’s aan het oorspronkelijke frame te plakken.
  • Bevestig dat one-hot-encoding meer kolommen oplevert dan label-encoding.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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[____])
Code bewerken en uitvoeren