Zmienna ważność z SVM

Odpowiedzi:

19

Jeśli zastosujesz karę l-1 do wektora ciężaru, nastąpi automatyczny wybór cech, ponieważ wagi odpowiadające nieistotnym atrybutom są automatycznie ustawiane na zero. Zobacz ten artykuł . (Absolutna) wielkość każdej niezerowej wagi może dać pojęcie o znaczeniu odpowiedniego atrybutu.

Spójrz także na ten artykuł, który wykorzystuje kryteria wyprowadzone z maszyn SVM do wyboru atrybutów.

ebony1
źródło
1
Czy któryś z tych alg został zaimplementowany w R lub innym oprogramowaniu?
George Dontas,
5
Tak, spójrz na pakiet penatedSVM R. Inne interesujące pakiety to: penalizowane, elasticnet, ppls, lars lub bardziej ogólnie: cran.r-project.org/web/views/MachineLearning.html
chl
7

Isabelle Guyon, André Elisseeff, „Wprowadzenie do wyboru zmiennych i cech”, JMLR, 3 (marzec): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

jest warte przeczytania, da dobry przegląd podejść i problemów. Dodam tylko, że wybór funkcji niekoniecznie poprawia wydajność predykcyjną i może łatwo ją pogorszyć (ponieważ łatwo jest przesadzić z kryterium wyboru funkcji). Jedną z zalet (szczególnie liniowych) maszyn SVM jest to, że działają one dobrze z dużą liczbą funkcji (pod warunkiem, że odpowiednio dostosujesz parametr regularyzacji), więc często nie ma potrzeby, jeśli interesuje Cię tylko przewidywanie.

Dikran Torbacz
źródło
2
Poleciłbym nawet całą książkę od I. Guyona i współpracowników, j.mp/anblwx . Książka ESL autorstwa Hastie i in., J.mp/bW3Hr4 , zawiera również interesujące dyskusje na ten „gorący” temat.
chl
Nie zgadzam się z twoim twierdzeniem; FS sam w sobie jest interesujący ze względu na pewne informacje wyjaśniające, które dostarcza (wybór markera / SNP jest przykładem, gdy jest głównym celem analizy). Overfit wyboru funkcji jest oczywiście problemem, ale istnieją metody, aby go pominąć.
Twierdziłem, że FS niekoniecznie poprawia znaczenie predykcyjne i może go pogorszyć. Jeśli znalezienie cech informacyjnych ma istotne znaczenie, to oczywiście należy zastosować FS, ale może się zdarzyć, że wydajność predykcyjna zostanie obniżona, jeśli wystąpi zbyt duże spełnienie kryterium wyboru cechy (co zdarza się dość łatwo). Do zadań takich jak analiza mikromacierzy użyłbym regresji kalenicowej (w workach) do prognozowania i czegoś takiego jak LASSO do określania kluczowych cech (dla zrozumienia biologii). Nie ma potrzeby robienia obu w tym samym modelu.
Dikran Marsupial
1

Jeśli używasz R, ważność zmiennej można obliczyć za pomocą metody Ważność w pakiecie rminer. To jest mój przykładowy kod:

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

Szczegółowo zapoznaj się z poniższym linkiem https://cran.r-project.org/web/packages/rminer/rminer.pdf

Takashi Kaneda
źródło
2
Ta odpowiedź jest niepełna. Nie opisuje, jakie zmienne znaczenie w tym pakiecie próbuje się komunikować.
Matthew Drury,
Dodałem przykładowy kod
Takashi Kaneda