SVM kullanarak değişken (nitelik) önemi nasıl elde edilir?
SVM kullanarak değişken (nitelik) önemi nasıl elde edilir?
Yanıtlar:
Ağırlık vektöründe l-1 cezası kullanırsanız, alakasız niteliklere karşılık gelen ağırlıklar otomatik olarak sıfıra ayarlandığı için otomatik özellik seçimini yapar. Bu makaleye bakın . Sıfır olmayan her ağırlığın (mutlak) büyüklüğü, karşılık gelen özelliğin önemi hakkında fikir verebilir.
Ayrıca , özellik seçimini yönlendirmek için SVM'lerden türetilmiş kriterleri kullanan bu makaleye bakın .
Isabelle Guyon, André Elisseeff, "Değişken ve Özellik Seçimlerine Giriş", JMLR, 3 (Mar): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html
okumaya değer, yaklaşım ve konulara genel bir bakış verecektir. Ekleyeceğim tek şey, özellik seçiminin tahmin performansını mutlaka arttırmaması ve kolayca daha kötü hale getirmesidir (çünkü özellik seçim kriterine uyması kolaydır). (Özellikle doğrusal) SVM'lerin avantajlarından biri, çok sayıda özellikle (normalizasyon parametresini düzgün şekilde ayarlamanızı sağlar) iyi çalışmasıdır, bu nedenle, yalnızca öngörmeyle ilgileniyorsanız, genellikle gerek yoktur.
R kullanırsanız, değişken önemi rminer paketindeki önem metodu ile hesaplanabilir. Bu benim örnek kodum:
library(rminer)
M <- fit(y~., data=train, model="svm", kpar=list(sigma=0.10), C=2)
svm.imp <- Importance(M, data=train)
Ayrıntılı olarak, aşağıdaki bağlantıya bakın https://cran.r-project.org/web/packages/rminer/rminer.pdf