Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Zakóduj sloupec credit_history pomocí 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[____])
Upravit a spustit kód