MulaiMulai sekarang secara gratis

Ordinal encoding pada DataFrame

Fitur kategorikal dapat dienkode menggunakan dua teknik, yaitu one-hot encoding dan ordinal encoding. Pada one-hot encoding, setiap kategori menjadi sebuah kolom dan kolom kategori yang sesuai untuk setiap baris bernilai 1, sedangkan yang lain 0. Pada ordinal encoding, kategori dipetakan ke nilai integer yang dimulai dari 0 hingga jumlah kategori.

Dalam latihan ini, Anda akan melakukan loop pada semua kolom di DataFrame users untuk melakukan ordinal encoding pada kategori. Anda juga akan menyimpan sebuah encoder untuk setiap kolom dalam dictionary ordinal_enc_dict sehingga kolom yang telah dienkode dapat dikonversi kembali ke kategori aslinya.

Latihan ini adalah bagian dari kursus

Menangani Data Hilang di Python

Lihat Kursus

Petunjuk latihan

  • Definisikan dictionary kosong ordinal_enc_dict.
  • Buat objek Ordinal Encoder untuk setiap kolom.
  • Pilih nilai non-null dari kolom di users dan lakukan encoding.
  • Berikan kembali nilai yang telah dienkode ke nilai non-null dari setiap kolom (col_name) di users.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create an empty dictionary ordinal_enc_dict
ordinal_enc_dict = ___

for col_name in users:
    # Create Ordinal encoder for col
    ordinal_enc_dict[col_name] = ___
    col = users[col_name]
    
    # Select non-null values of col
    col_not_null = ___
    reshaped_vals = col_not_null.values.reshape(-1, 1)
    encoded_vals = ordinal_enc_dict[col_name].fit_transform(reshaped_vals)
    
    # Select the non-null values for the column col_name in users and store the encoded values
    users.loc[___, ___] = np.squeeze(encoded_vals)
Edit dan Jalankan Kode