Variabel kepentingan dari SVM

Jawaban:

19

Jika Anda menggunakan hukuman l-1 pada vektor bobot, itu melakukan pemilihan fitur otomatis karena bobot yang sesuai dengan atribut yang tidak relevan secara otomatis ditetapkan ke nol. Lihat makalah ini . Besarnya (absolut) dari masing-masing bobot bukan nol dapat memberikan gambaran tentang pentingnya atribut yang sesuai.

Lihat juga makalah ini yang menggunakan kriteria yang berasal dari SVM untuk memandu pemilihan atribut.

ebony1
sumber
1
Apakah salah satu dari algos tersebut telah diimplementasikan dalam R atau perangkat lunak lain?
George Dontas
5
Ya, lihat paket R penalizedSVM. Paket lain yang menarik adalah: dihukum, elasticnet, ppls, lars, atau lebih umum: cran.r-project.org/web/views/MachineLearning.html
chl
7

Isabelle Guyon, André Elisseeff, "Suatu Pengantar Variabel dan Pemilihan Fitur", JMLR, 3 (Mar): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

layak dibaca, itu akan memberikan gambaran yang baik tentang pendekatan dan masalah. Satu hal yang akan saya tambahkan adalah bahwa pemilihan fitur tidak serta merta meningkatkan kinerja prediktif, dan dapat dengan mudah memperburuknya (karena mudah untuk menyesuaikan kriteria pemilihan fitur). Salah satu keuntungan dari SVM (terutama linier) adalah mereka bekerja dengan baik dengan sejumlah besar fitur (memberikan Anda menyetel parameter regularisasi dengan benar), sehingga sering kali tidak perlu jika Anda hanya tertarik pada prediksi.

Dikran Marsupial
sumber
2
Saya bahkan akan merekomendasikan seluruh buku dari saya. Guyon dan rekan kerja, j.mp/anblwx . Buku ESL dari Hastie et al., J.mp/bW3Hr4 , juga menyediakan diskusi menarik seputar topik 'panas' ini.
chl
Saya tidak setuju dengan klaim Anda; FS sendiri menarik untuk beberapa informasi penjelas yang diberikannya (pemilihan penanda / SNP adalah contoh ketika itu merupakan tujuan utama analisis). Pakaian pemilihan fitur tentu saja merupakan masalah, tetapi ada metode untuk menghilangkannya.
Saya menyatakan bahwa FS tidak selalu meningkatkan kepentingan prediktif, dan dapat memperburuknya. Jika menemukan fitur informatif sangat penting secara intrinsik, maka tentu saja FS harus digunakan, tetapi mungkin kinerja prediktif dikompromikan jika pemasangan kriteria pemilihan fitur yang berlebihan terjadi (yang terjadi agak mudah). Untuk tugas-tugas seperti analisis array mikro, saya akan menggunakan regresi ridge (dikantongi) untuk prediksi dan sesuatu seperti LASSO untuk menentukan fitur-fitur utama (untuk mendapatkan pemahaman tentang biologi). Tidak perlu melakukan keduanya dalam model yang sama.
Dikran Marsupial
1

Jika Anda menggunakan R, kepentingan variabel dapat dihitung dengan metode Importance dalam paket rminer. Ini adalah contoh kode saya:

library(rminer)
M <- fit(y~., data=train, model="svm", kpar=list(sigma=0.10), C=2)
svm.imp <- Importance(M, data=train)

Secara rinci, lihat tautan berikut https://cran.r-project.org/web/packages/rminer/rminer.pdf

Takashi Kaneda
sumber
2
Jawaban ini tidak lengkap. Itu tidak menggambarkan apa yang penting variabel dalam paket yang mencoba untuk berkomunikasi.
Matthew Drury
Saya telah menambahkan kode sampel
Takashi Kaneda