Melampaui klasifikasi biner
Tentu saja, klasifikasi biner hanyalah satu kasus khusus. Target encoding dapat diterapkan pada jenis variabel target apa pun:
- Untuk klasifikasi biner biasanya digunakan mean target encoding
- Untuk regresi mean dapat diubah menjadi median, kuartil, dan sebagainya
- Untuk klasifikasi multi-kelas dengan N kelas, kita membuat N fitur dengan rataan target untuk setiap kategori dalam pendekatan one-vs-all
Fungsi mean_target_encoding() yang telah Anda buat dapat digunakan untuk semua jenis target yang disebutkan di atas. Mari kita terapkan untuk masalah regresi pada contoh kompetisi Kaggle House Prices.
Tujuan Anda adalah mengodekan fitur kategorikal "RoofStyle" menggunakan mean target encoding. DataFrame train dan test sudah tersedia di workspace Anda.
Latihan ini adalah bagian dari kursus
Memenangi Kompetisi Kaggle dengan Python
Petunjuk latihan
- Tentukan semua parameter yang belum terisi untuk pemanggilan fungsi
mean_target_encoding(). Nama variabel target adalah"SalePrice". Setel hiperparameter \(\alpha\) ke 10. - Ingat bahwa parameter
traindantestmengharapkan DataFrame train dan test. - Sementara parameter
targetdancategoricalmengharapkan nama variabel target dan fitur yang akan dikodekan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create mean target encoded feature
train['RoofStyle_enc'], test['RoofStyle_enc'] = mean_target_encoding(train=train,
test=____,
target='____',
categorical='____',
alpha=____)
# Look at the encoding
print(test[['RoofStyle', 'RoofStyle_enc']].drop_duplicates())