Persilangan Fitur: Melintasi Vektor One-Hot

Sejauh ini, kita telah berfokus pada persilangan fitur dua fitur floating point. Dalam praktiknya, model machine learning jarang menyilang fitur berkelanjutan. Namun, model machine learning sering melewati vektor fitur satu kali. Bayangkan persilangan fitur vektor fitur sekali klik sebagai konjungsi logis. Misalnya, kita memiliki dua fitur: negara dan bahasa. Setiap encoding sekali klik masing-masing menghasilkan vektor dengan fitur biner yang dapat ditafsirkan sebagai country=USA, country=France atau language=English, language=Spanish. Kemudian, jika Anda melakukan persilangan fitur encoding one-hot ini, Anda akan mendapatkan fitur biner yang dapat diinterpretasikan sebagai penggabungan yang logis, seperti:

  country:usa AND language:spanish

Contoh lain, misalkan Anda mengelompokkan lintang dan bujur, sehingga menghasilkan vektor fitur lima elemen one-hot yang terpisah. Misalnya, lintang dan bujur tertentu dapat direpresentasikan sebagai berikut:

  binned_latitude = [0, 0, 0, 1, 0]
  binned_longitude = [0, 1, 0, 0, 0]

Misalkan Anda membuat persilangan fitur dari dua vektor fitur berikut:

  binned_latitude X binned_longitude

Persilangan fitur ini adalah vektor one-hot 25 elemen (24 nol dan 1 satu). Satu 1 dalam silang mengidentifikasi hubungan tertentu dari lintang dan bujur. Model Anda kemudian dapat mempelajari asosiasi tertentu tentang konjungsi tersebut.

Misalkan kita membagi garis lintang dan bujur secara lebih kasar, seperti berikut:

binned_latitude(lat) = [
  0  < lat <= 10
  10 < lat <= 20
  20 < lat <= 30
]

binned_longitude(lon) = [
  0  < lon <= 15
  15 < lon <= 30
]

Membuat persilangan fitur dari kelompok sampah tersebut akan menghasilkan fitur sintetis yang memiliki arti sebagai berikut:

binned_latitude_X_longitude(lat, lon) = [
  0  < lat <= 10 AND 0  < lon <= 15
  0  < lat <= 10 AND 15 < lon <= 30
  10 < lat <= 20 AND 0  < lon <= 15
  10 < lat <= 20 AND 15 < lon <= 30
  20 < lat <= 30 AND 0  < lon <= 15
  20 < lat <= 30 AND 15 < lon <= 30
]

Sekarang anggap model kami perlu memprediksi seberapa puas pemilik anjing terhadap anjing berdasarkan dua fitur:

  • Jenis perilaku (menggonggong, menangis, meringkuk, dll.)
  • Waktu

Jika kita membuat persilangan fitur dari kedua fitur ini:

  [behavior type X time of day]

maka kita akan memiliki kemampuan yang jauh lebih prediktif daripada fitur itu sendiri. Misalnya, jika anjing menangis (bahagia) pukul 17.00 saat pemilik pulang kerja kemungkinan akan menjadi prediktor yang sangat positif dari kepuasan pemilik. Menangis (sedih, mungkin) pada pukul 3.00 ketika pemilik tidur nyenyak kemungkinan akan menjadi prediktor yang sangat negatif dari kepuasan pemilik.

Pembelajar linear menskalakan data besar dengan baik. Menggunakan persilangan fitur pada set data besar adalah salah satu strategi efisien untuk mempelajari model yang sangat kompleks. Jaringan neural menyediakan strategi lainnya.