Data numerik: Cara model menyerap data menggunakan vektor fitur

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?

Gambar 1. Model yang menyerap contoh langsung dari set data.
            Kolom b dan d dari Baris 3 disorot.
Gambar 1. Tidak persis bagaimana model mendapatkan contohnya.

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.

Gambar 2. Vektor fitur adalah perantara antara {i>dataset<i}
            dan modelnya.
Gambar 2. Lebih mendekati kebenaran, tetapi tidak realistis.

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:

Gambar 3. Vektor fitur berisi dua nilai floating point:
            0,13 dan 0,47. Vektor fitur yang lebih realistis.
Gambar 3. Vektor fitur yang lebih realistis.

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.