Kategorielle Encodings
Dein Kollege hat die Spalten im Kredit-Datensatz mit LabelEncoder() in numerische Werte umgewandelt. Eine hat er ausgelassen: credit_history, die die Kredithistorie der Antragstellerin bzw. des Antragstellers enthält. Du möchtest zwei Versionen des Datensatzes erstellen: eine mit LabelEncoder() und eine mit One-Hot-Encoding, um sie zu vergleichen. Die Merkmalmatrix steht dir als credit zur Verfügung. LabelEncoder() ist bereits geladen und pandas als pd.
Diese Übung ist Teil des Kurses
Machine-Learning-Workflows in Python entwerfen
Anleitung zur Übung
- Codiere
credit_historymitLabelEncoder(). - Füge das Ergebnis an den ursprünglichen Frame an.
- Erstelle einen neuen DataFrame, indem du die One-Hot-Encoding-Dummies an den ursprünglichen Frame anfügst.
- Bestätige, dass One-Hot-Encoding mehr Spalten erzeugt als Label-Encoding.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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[____])