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

Ordinální kódování kategorického sloupce

Imputace kategorických hodnot vyžaduje několik kroků navíc oproti imputaci numerických hodnot. Nejprve je potřeba převést je na číselné hodnoty, protože statistické operace nelze provádět nad řetězci.

Budeš pracovat s datasetem uživatelských profilů, který obsahuje preference a volby zákazníků zaznamenané restaurací. Dataset obsahuje pouze kategorické příznaky. V tomto cvičení převedeš kategorický sloupec 'ambience' na numerický pomocí OrdinalEncoder z knihovny sklearn. DataFrame byl načten jako users a funkce OrdinalEncoder() je také připravena k použití.

Pro přehled ti byl vypsán head() a tail() DataFramu users.

Toto cvičení je součástí kurzu

Dealing with Missing Data in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt ordinálního enkodéru a přiřaď ho do proměnné ambience_ord_enc.
  • Vyber nenulové hodnoty sloupce 'ambience' v DataFramu users.
  • Přeformátuj ambience_not_null na tvar (-1, 1).
  • Nahraď nenulové hodnoty sloupce ambience jeho zakódovanými hodnotami.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Set col_name to 'ambience'
col_name = 'ambience'
# Create Ordinal encoder
ambience_ord_enc = ___

# Select non-null values of ambience column in users
ambience = users[col_name]
ambience_not_null = ___

# Reshape ambience_not_null to shape (-1, 1)
reshaped_vals = ___

# Select the non-null values for the column col_name in users and store the encoded values
encoded_vals = ambience_ord_enc.fit_transform(reshaped_vals)
users.loc[___, col_name] = np.squeeze(encoded_vals)
Upravit a spustit kód