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
Oefeninstructies
- Encodeer
credit_historymetLabelEncoder(). - 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[____])