Kodowanie porządkowe kolumny kategorycznej
Imputacja wartości kategorycznych wymaga kilku dodatkowych kroków w porównaniu z imputacją wartości liczbowych. Najpierw trzeba je przekonwertować na wartości numeryczne, ponieważ na łańcuchach znakowych nie można wykonywać operacji statystycznych.
Skorzystasz ze zbioru danych profilów użytkowników, który zawiera preferencje i wybory klientów restauracji. Zbiór zawiera wyłącznie cechy kategoryczne. W tym ćwiczeniu przekonwertujesz kolumnę kategoryczną 'ambience' na kolumnę numeryczną, używając OrdinalEncoder z biblioteki sklearn. Ramka danych została załadowana jako users. Funkcja OrdinalEncoder() jest również dostępna.
Wyniki head() i tail() ramki danych users zostały wyświetlone.
To ćwiczenie jest częścią kursu
Braki danych w Pythonie
Instrukcje do ćwiczenia
- Utwórz obiekt kodera porządkowego i przypisz go do zmiennej
ambience_ord_enc. - Wybierz wartości bez braków z kolumny
'ambience'w ramceusers. - Zmień kształt zmiennej
ambience_not_nullna(-1, 1). - Zastąp wartości bez braków w kolumnie
ambienceich zakodowanymi odpowiednikami.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)