Sampai sekarang, kami memberi Anda kesan bahwa model bertindak langsung pada baris-baris {i>dataset <i}itu; Namun, model sebenarnya menyerap data dengan cara yang sedikit berbeda.
Misalnya, sebuah {i>dataset<i} menyediakan lima kolom, tetapi hanya dua kolom tersebut
kolom (b
dan d
) adalah fitur dalam model. Saat memproses
di contoh di baris 3, apakah model cukup
mengambil konten dari
menyoroti dua sel (3b dan 3d) sebagai berikut?
Kenyataannya, model sebenarnya menyerap array nilai floating point yang disebut vektor fitur. Anda dapat memikirkan vektor fitur sebagai nilai floating point yang terdiri dari satu contoh.
Namun, vektor fitur jarang menggunakan nilai mentah set data. Sebagai gantinya, Anda biasanya harus memproses nilai set data menjadi representasi yang dapat dipelajari dengan lebih baik oleh model Anda. Jadi, jawaban yang lebih realistis vektor fitur akan tampak seperti ini:
Bukankah model akan menghasilkan prediksi yang lebih baik dengan melatih dari aktual dalam set data dibandingkan dari nilai yang telah diubah? Secara mengejutkan, jawabannya adalah tidak.
Anda harus menentukan cara terbaik untuk merepresentasikan nilai set data mentah sebagai trainable nilai dalam vektor fitur. Proses ini disebut rekayasa fitur, dan merupakan bagian penting dari machine learning. Teknik rekayasa fitur yang paling umum adalah:
- Normalisasi: Mengonversi nilai numerik ke dalam rentang standar.
- Binning (juga disebut sebagai pengelompokan): Mengonversi numerik nilai ke dalam bucket rentang.
Unit ini membahas normalisasi dan binning. Unit berikutnya, Bekerja dengan data kategorik, mencakup bentuk-bentuk lain pra-pemrosesan, seperti mengonversi data non-numerik, seperti {i>string<i}, menjadi nilai {i>floating point<i}.
Setiap nilai dalam vektor fitur harus berupa nilai floating point. Namun, banyak fitur adalah {i>string<i} alami atau nilai non-numerik lainnya. Oleh karena itu, sebagian besar rekayasa fitur mewakili nilai-nilai non-numerik sebagai nilai numerik. Anda akan melihat banyak hal ini di modul selanjutnya.