Kodowanie zmiennych kategorycznych
Twój kolega przekształcił kolumny w zbiorze danych o kredytach na wartości numeryczne za pomocą LabelEncoder(). Pominął jedną: credit_history, która zawiera historię kredytową wnioskodawcy. Chcesz stworzyć dwie wersje zbioru danych – jedną z użyciem LabelEncoder(), a drugą z kodowaniem one-hot – w celu porównania. Macierz cech jest dostępna jako credit. Masz załadowany LabelEncoder() oraz bibliotekę pandas jako pd.
To ćwiczenie jest częścią kursu
Projektowanie przepływów pracy uczenia maszynowego w Pythonie
Instrukcje do ćwiczenia
- Zakoduj
credit_historyza pomocąLabelEncoder(). - Połącz wynik z oryginalną ramką danych.
- Utwórz nową ramkę danych, łącząc kolumny kodowania one-hot z oryginalną ramką.
- Sprawdź, czy kodowanie one-hot daje więcej kolumn niż kodowanie etykietowe.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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[____])