Pembelajaran Mesin Dengan Data Kategorikal dan Berkelanjutan

9

Pertanyaan ini bisa di sini atau di SO mungkin ...

Misalkan set data pelatihan Anda berisi data kategorikal dan berkelanjutan seperti pengaturan ini:

 Animal, breed,  sex, age, weight, blood_pressure, annual_cost
 cat,    calico, M,   10,  15    ,   100         , 100 
 cat,    tabby,  F,   5,   10    ,   80          , 200
 dog,    beagle, M,   3,   30    ,   90          , 200
 dog,    lab,    F,   8,   75    ,   80          , 100

Dan variabel dependen yang akan diprediksi adalah biaya dokter hewan tahunan. Saya agak bingung dengan teknik spesifik yang tersedia untuk menangani dataset seperti itu. Apa metode yang biasa digunakan untuk menangani dataset yang merupakan campuran data kontinu dan kategorikal?

reptilicus
sumber

Jawaban:

8

Untuk setiap kelas (breed, gender ...) atribut kategorikal, Anda bisa menambahkan sejumlah komponen ke vektor fitur Anda sama dengan jumlah nilai yang mungkin ada di kelas itu. Kemudian, jika suatu titik data memiliki nilai engan, Anda mengatur engan salah satu komponen tersebut ke 1, dan sisanya untuk atribut itu ke 0.

Dalam contoh Anda, untuk gender, Anda akan menambahkan dua komponen baru ke vektor fitur Anda. Jika hewan itu jantan, Anda akan mengatur yang pertama ke 1 dan yang kedua ke 0, dan sebaliknya jika hewan itu betina. Untuk hewan, jika kemungkinan Anda adalah kucing, anjing, dan ikan, maka Anda akan melakukan hal yang sama dengan tiga komponen.

Ini akan hidup berdampingan dengan atribut kontinu. Anda mungkin ingin menyesuaikan besaran "nilai indikator" (nilai yang Anda gunakan saat atribut "aktif") sehingga itu sebanding dengan besarnya nilai kontinu yang Anda gunakan.

Jika Anda memilih cara ini untuk menyelesaikan masalah Anda, langkah selanjutnya adalah memilih dan algoritma seperti mesin vektor dukungan dan mengumpankannya vektor fitur Anda. Tentu saja, beberapa pendekatan seperti Pohon Keputusan tidak perlu langkah yang saya sebutkan di atas untuk memulai.

DJLamar
sumber
1
Keren, kiat-kiat hebat! Bagaimana dengan situasi yang mungkin dalam data uji di mana ras tidak pernah muncul dalam data pelatihan? Misalnya, apakah ada pudel dalam data uji tetapi bukan data pelatihan? Apakah cara terbaik untuk pergi hanya memiliki nol untuk semua komponen vektor berkembang biak?
reptilicus
2
Bahkan, pendekatan yang berlawanan (dikenal sebagai diskritisasi data) biasanya merupakan pilihan terbaik untuk metode hierarkis (seperti algoritma pohon keputusan). Diskritisasi data juga merupakan teknik pra-pemrosesan data (sebagaimana disebutkan dalam jawaban lain).
rvcoutinho
2

Anda harus melihat pada pra-pemrosesan data . Itu sebelum teknik pembelajaran mesin. Ini adalah pengantar yang bagus (ditemukan di Google).

Mengenai teknik, ada banyak pendekatan berbeda . Anda mungkin dapat menggunakan sebagian besar dari mereka setelah memproses data Anda sebelumnya. Anda harus mencobanya dan memilih yang paling sesuai dengan kebutuhan Anda.

rvcoutinho
sumber