Penyandian ordinal pada kolom kategorikal
Mengimputasi nilai kategorikal memerlukan beberapa langkah tambahan dibandingkan imputasi nilai numerik. Pertama, Anda perlu mengonversinya ke nilai numerik karena operasi statistik tidak dapat dijalankan pada string.
Anda akan menggunakan himpunan data profil pengguna yang berisi preferensi dan pilihan pelanggan yang dicatat oleh sebuah restoran. Himpunan data ini hanya memiliki fitur kategorikal. Pada latihan ini, Anda akan mengonversi kolom kategorikal 'ambience' menjadi numerik menggunakan OrdinalEncoder dari sklearn. DataFrame telah dimuat untuk Anda sebagai users. Fungsi OrdinalEncoder() juga telah dimuat.
head() dan tail() dari DataFrame users telah dicetak untuk Anda.
Latihan ini adalah bagian dari kursus
Menangani Data Hilang di Python
Petunjuk latihan
- Buat objek ordinal encoder dan tetapkan ke
ambience_ord_enc. - Pilih nilai yang tidak hilang dari kolom
'ambience'diusers. - Ubah bentuk
ambience_not_nullmenjadi bentuk(-1, 1). - Ganti nilai
ambienceyang tidak hilang dengan nilai yang telah disandikan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)