Kódování kategorických proměnných
Tvůj kolega převedl sloupce v datasetu credit na číselné hodnoty pomocí LabelEncoder(). Jeden sloupec ale vynechal: credit_history, který zaznamenává úvěrovou historii žadatele. Chceš vytvořit dvě verze datasetu – jednu s použitím LabelEncoder() a druhou s one-hot encodingem – a porovnat je. Matice příznaků je dostupná jako credit. Máš přednahraný LabelEncoder() a knihovnu pandas jako pd.
Toto cvičení je součástí kurzu
Designing Machine Learning Workflows in Python
Pokyny k cvičení
- Zakóduj sloupec
credit_historypomocíLabelEncoder(). - Výsledek připoj ke původnímu dataframu.
- Vytvoř nový dataframe připojením one-hot encoding dummy proměnných k původnímu dataframu.
- Ověř, že one-hot encoding vytváří více sloupců než label encoding.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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[____])