Saya punya dataset seperti
+--------+------+-------------------+
| income | year | use |
+--------+------+-------------------+
| 46328 | 1989 | COMMERCIAL EXEMPT |
| 75469 | 1998 | CONDOMINIUM |
| 49250 | 1950 | SINGLE FAMILY |
| 82354 | 2001 | SINGLE FAMILY |
| 88281 | 1985 | SHOP & HOUSE |
+--------+------+-------------------+
Saya menanamkannya ke dalam ruang vektor format LIBSVM
+1 1:46328 2:1989 3:1
-1 1:75469 2:1998 4:1
+1 1:49250 2:1950 5:1
-1 1:82354 2:2001 5:1
+1 1:88281 2:1985 6:1
Indeks fitur:
- 1 adalah "penghasilan"
- 2 adalah "tahun"
- 3 adalah "use / EXEMPT KOMERSIAL"
- 4 adalah "use / CONDOMINIUM"
- 5 adalah "use / SINGLE FAMILY"
- 6 adalah "use / SHOP & HOUSE"
Apakah boleh melatih mesin vektor dukungan (SVM) dengan campuran data berkelanjutan (tahun, pendapatan) dan kategorikal (gunakan) seperti ini?
categorical-data
svm
mixed-type-data
Seamus Abshere
sumber
sumber
Jawaban:
Iya! Tapi mungkin tidak dengan cara yang Anda maksud. Dalam penelitian saya, saya sering membuat fitur-fitur kategorikal dari yang bernilai terus-menerus menggunakan algoritme seperti partisi rekursif . Saya biasanya menggunakan pendekatan ini dengan implementasi SVMLight mesin dukungan vektor, tapi saya sudah menggunakannya dengan LibSVM juga. Anda harus memastikan bahwa Anda menetapkan fitur kategorikal yang dipartisi ke tempat tertentu dalam vektor fitur Anda selama pelatihan dan klasifikasi, jika tidak model Anda akan berakhir dengan tidak senang.
Sunting: Artinya, ketika saya sudah melakukan ini, saya menetapkan elemen n pertama dari vektor ke nilai-nilai biner yang terkait dengan output dari partisi rekursif. Dalam pemodelan fitur biner, Anda hanya memiliki vektor raksasa 0 dan 1, jadi semuanya terlihat sama dengan model, kecuali jika Anda secara eksplisit menunjukkan di mana fitur yang berbeda. Ini mungkin terlalu spesifik, seperti yang saya bayangkan sebagian besar implementasi SVM akan melakukan ini sendiri, tetapi, jika Anda ingin memprogram sendiri, itu mungkin sesuatu untuk dipikirkan!
sumber