Menyandikan kolom kategorikal III: DictVectorizer
Baik, satu trik terakhir sebelum Anda masuk ke pipeline. Proses dua langkah yang baru saja Anda lakukan — LabelEncoder diikuti oleh OneHotEncoder — dapat disederhanakan dengan menggunakan DictVectorizer.
Menggunakan DictVectorizer pada DataFrame yang telah dikonversi menjadi kamus memungkinkan Anda melakukan label encoding sekaligus one-hot encoding dalam satu langkah.
Tugas Anda adalah mempraktikkan strategi ini dalam latihan berikut!
Latihan ini adalah bagian dari kursus
Extreme Gradient Boosting dengan XGBoost
Petunjuk latihan
- Impor
DictVectorizerdarisklearn.feature_extraction. - Konversi
dfmenjadi sebuah kamus bernamadf_dictmenggunakan metode.to_dict()dengan argumen"records". - Instansiasi objek
DictVectorizerbernamadvdengan argumen kata kuncisparse=False. - Terapkan
DictVectorizerpadadf_dictdengan menggunakan metode.fit_transform(). - Tekan 'Kirim Jawaban' untuk mencetak lima baris pertama hasilnya dan kosakatanya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import DictVectorizer
____
# Convert df into a dictionary: df_dict
df_dict = ____
# Create the DictVectorizer object: dv
dv = ____
# Apply dv on df: df_encoded
df_encoded = ____
# Print the resulting first five rows
print(df_encoded[:5,:])
# Print the vocabulary
print(dv.vocabulary_)