Berurusan dengan dataset dengan sejumlah fitur

14

Apa saja pendekatan untuk mengklasifikasikan data dengan sejumlah fitur yang bervariasi?

Sebagai contoh, pertimbangkan masalah di mana setiap titik data adalah vektor titik x dan y, dan kami tidak memiliki jumlah titik yang sama untuk setiap contoh. Bisakah kita memperlakukan setiap pasangan poin x dan y sebagai fitur? Atau haruskah kita meringkas titik-titik itu sehingga masing-masing titik data memiliki sejumlah fitur tetap?

jergason
sumber
7
Apakah ada atau tidaknya suatu titik tertentu membantu dalam mengklasifikasikan data?
jonsca

Jawaban:

5

Anda dapat memperlakukan poin-poin ini sebagai hilang --- mis. mari kita asumsikan bahwa vektor memiliki paling banyak 20 (x, y) pasangan dan titik tertentu memiliki 5 (x, y) pasangan, dalam hal ini memperlakukan sisa pasangan sebagai hilang, dan kemudian menerapkan prosedur standar untuk parameter yang hilang:

Prosedur standar ini mungkin:

  • Gunakan model yang menangani parameter yang hilang dengan cara alami, misalnya model pohon keputusan harus dapat mengatasinya.
  • Ganti yang hilang dengan nilai rata-rata untuk kolom yang sesuai.
  • Gunakan beberapa model mudah untuk 'memprediksi' nilai yang hilang.

Tetapi sebagai @jonsca menunjuk --- jika keberadaan tidak adanya titik yang diberikan membantu dalam mengklasifikasi data, Anda harus misalnya membangun beberapa model, masing-masing model memodelkan instance dengan sejumlah poin tertentu.

jb.
sumber
10

Dari cara saya memahami pertanyaan Anda, poin-poin dalam data dapat dipertukarkan dan tidak disertai dengan pemesanan apa pun, misalnya Anda memiliki serangkaian poin untuk setiap contoh. Pengaturan ini berbeda dari pengaturan "Nilai Hilang" jb itu. dijelaskan.

Saya tahu tentang dua metode yang umum digunakan untuk masalah ini, yang sebenarnya didasarkan pada ide-ide Anda. Garis dasar yang baik mungkin hanya akan rata-rata semua poin dalam satu contoh, tetapi biasanya tidak bekerja dengan baik.

  • Untuk menggabungkan beberapa titik ke fitur tunggal, representasi kata (atau kantong fitur) cukup umum digunakan, misalnya dalam visi komputer. Idenya adalah untuk mengelompokkan semua poin dalam set pelatihan Anda (menggunakan misalnya k-means) dan kemudian menggambarkan setiap poin dengan kelompoknya. Untuk setiap contoh Anda kemudian mendapatkan histogram di mana cluster terjadi seberapa sering.

  • Untuk menggunakan semua pasang poin, Anda dapat menggunakan set kernel. Ini mungkin bekerja paling baik dengan menggunakan SVM tetapi mungkin juga akan bekerja dengan algoritma pembelajaran apa pun yang dapat di-kernel-kan atau memanfaatkan fungsi kompatibilitas antar input. Set kernel pada dasarnya adalah cara untuk menghitung kesamaan dua set fitur, seperti pada pengaturan Anda.

Andreas Mueller
sumber