Prediksi dengan fitur non-atom

10

Saya ingin menggunakan data non-atom, sebagai fitur untuk prediksi. Misalkan saya punya Meja dengan fitur-fitur ini:

- Column 1: Categorical - House
- Column 2: Numerical - 23.22
- Column 3: A Vector - [ 12, 22, 32 ]
- Column 4: A Tree - [ [ 2323, 2323 ],[2323, 2323] , [ Boolean, Categorical ] ]
- Column 5: A List [ 122, Boolean ]

Saya ingin memprediksi / mengklasifikasikan, misalnya, Kolom 2.

Saya membuat sesuatu untuk secara otomatis menjawab pertanyaan, semua jenis pertanyaan, seperti "Di mana Foo Born?" ...

Saya pertama-tama membuat kueri ke mesin pencari, kemudian saya mendapatkan beberapa data teks sebagai hasilnya, kemudian saya melakukan semua hal parsing (penandaan, stemming, parsing, pemisahan ...)

Pendekatan pertama saya adalah membuat tabel, setiap baris dengan baris teks dan banyak fitur, seperti "Kata Pertama", "Tag Kata Pertama", "Bongkahan", dll ...

Tetapi dengan pendekatan ini saya kehilangan hubungan antara kalimat.

Saya ingin tahu apakah ada algoritma yang terlihat di dalam struktur pohon (atau vektor) dan membuat hubungan dan mengekstrak apa pun yang relevan untuk memprediksi / mengklasifikasikan. Saya lebih suka tahu tentang perpustakaan yang melakukan itu daripada algoritma yang harus saya terapkan.

pengguna3798928
sumber
Harap jelaskan: Anda mengatakan Anda ingin menggunakan Kolom 2 sebagai fitur, tetapi kemudian Anda mengatakan Anda ingin memprediksi / mengklasifikasikan Kolom 2. Juga, Anda menyebut fitur ini 'non-atomik' ... apakah maksud Anda ini bukan kategori?
logc

Jawaban:

7

Ketika berurusan dengan banyak jenis data yang berbeda, terutama ketika hubungan di antara mereka tidak jelas, saya akan sangat merekomendasikan teknik berdasarkan pohon keputusan , yang paling populer saat ini sejauh pengetahuan saya adalah hutan acak , dan sangat acak pohon .

Keduanya memiliki implementasi di sklearn , dan mereka cukup mudah digunakan. Pada tingkat yang sangat tinggi, alasan bahwa decision treependekatan berbasis-menguntungkan untuk berbagai jenis data yang berbeda adalah karena pohon keputusan sebagian besar independen dari data spesifik yang mereka hadapi, selama mereka mampu memahami representasi Anda.

Anda masih harus memasukkan data Anda ke dalam vektor fitur, tetapi berdasarkan contoh Anda yang tampaknya merupakan tugas yang cukup mudah, dan jika Anda ingin melangkah lebih dalam pada implementasi Anda, Anda tentu bisa menghasilkan aturan pemisahan pohon tanpa benar-benar harus mengubah apa pun dalam algoritma yang mendasarinya. The kertas asli adalah tempat yang cukup layak untuk memulai jika Anda ingin memberikan yang tembakan.

Jika Anda ingin data pseudo-struktural dari data teks Anda, saya mungkin menyarankan melihat ke dalam doc2vec, baru-baru ini dikembangkan oleh Google. Saya tidak berpikir ada implementasi open-source yang bagus sekarang, tetapi ini adalah perbaikan yang cukup mudah pada word2vecalgoritma, yang memiliki implementasi di setidaknya Cdan python.

Semoga itu bisa membantu! Beri tahu saya jika Anda memiliki pertanyaan lain.

indico
sumber