MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat objek ordinal encoder dan tetapkan ke ambience_ord_enc.
  • Pilih nilai yang tidak hilang dari kolom 'ambience' di users.
  • Ubah bentuk ambience_not_null menjadi bentuk (-1, 1).
  • Ganti nilai ambience yang 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)
Edit dan Jalankan Kode