Unit ini telah mempelajari cara memetakan data mentah menjadi vektor fitur yang sesuai. Fitur numerik yang baik memiliki kualitas yang dijelaskan di bagian ini.
Diberi nama yang jelas
Setiap fitur harus memiliki makna yang jelas, masuk akal, dan mudah dipahami oleh semua orang dalam project. Misalnya, makna nilai fitur berikut membingungkan:
Tidak direkomendasikan
house_age: 851472000
Sebaliknya, nama dan nilai fitur berikut jauh lebih jelas:
Direkomendasikan
house_age_years: 27
Dicek atau diuji sebelum pelatihan
Meskipun modul ini telah mencurahkan banyak waktu untuk
penyimpangan, topik ini
cukup penting untuk mendapatkan satu penyebutan terakhir. Dalam beberapa kasus, data yang buruk
(bukan pilihan engineering yang buruk) menyebabkan nilai yang tidak jelas. Misalnya,
user_age_in_years
berikut berasal dari sumber yang tidak memeriksa
nilai yang sesuai:
Tidak direkomendasikan
user_age_in_years: 224
Namun, orang dapat berusia 24 tahun:
Direkomendasikan
user_age_in_years: 24
Periksa data Anda.
Sensible
"Nilai ajaib" adalah diskontinuitas yang disengaja dalam fitur yang berkelanjutan. Misalnya, fitur kontinu bernama watch_time_in_seconds
dapat menyimpan nilai floating point antara 0 dan 30, tetapi mewakili ketiadaan
pengukuran dengan nilai ajaib -1:
Tidak direkomendasikan
watch_time_in_seconds: -1
watch_time_in_seconds
sebesar -1 akan memaksa model untuk mencoba mencari tahu
arti menonton film mundur ke belakang. Model yang dihasilkan mungkin
tidak akan membuat prediksi yang baik.
Teknik yang lebih baik adalah membuat fitur Boolean terpisah yang menunjukkan
apakah nilai watch_time_in_seconds
disediakan atau tidak. Contoh:
Direkomendasikan
watch_time_in_seconds: 4.82
is_watch_time_in_seconds_defined=Truewatch_time_in_seconds: 0
is_watch_time_in_seconds_defined=False
Ini adalah cara menangani set data kontinu dengan nilai yang hilang. Sekarang pertimbangkan
fitur numerik diskret, seperti product_category
, yang nilainya harus termasuk dalam kumpulan
nilai yang terbatas. Dalam hal ini, jika nilai tidak ada, tunjukkan nilai yang tidak ada menggunakan nilai baru dalam set berhingga. Dengan fitur diskret, model akan mempelajari bobot yang berbeda untuk setiap nilai, termasuk bobot asli untuk fitur yang tidak ada.
Misalnya, kita dapat membayangkan kemungkinan nilai yang sesuai dalam set:
{0: 'electronics', 1: 'books', 2: 'clothing', 3: 'missing_category'}.