Importanza variabile da SVM


Risposte:


19

Se si utilizza la penalità l-1 sul vettore di peso, esegue automaticamente la selezione della funzione poiché i pesi corrispondenti agli attributi irrilevanti vengono automaticamente impostati su zero. Vedi questo documento . La grandezza (assoluta) di ciascun peso diverso da zero può dare un'idea dell'importanza dell'attributo corrispondente.

Guarda anche questo documento che utilizza i criteri derivati ​​dagli SVM per guidare la selezione degli attributi.


1
Qualcuno di questi alghi è stato implementato in R o altro software?
George Dontas,

5
Sì, dai un'occhiata al pacchetto R penalizedSVM. Altri pacchetti di interesse sono: penalizzato, elasticnet, ppls, lars o più in generale: cran.r-project.org/web/views/MachineLearning.html
chl

7

Isabelle Guyon, André Elisseeff, "An Introduction to Variable and Feature Selection", JMLR, 3 (Mar): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

vale la pena leggere, fornirà una buona panoramica di approcci e problemi. L'unica cosa che aggiungerei è che la selezione delle funzionalità non migliora necessariamente le prestazioni predittive e può peggiorare facilmente (perché è facile adattarsi al criterio di selezione delle funzionalità). Uno dei vantaggi delle SVM (soprattutto lineari) è che funzionano bene con un gran numero di funzionalità (fornendo correttamente il parametro di regolarizzazione), quindi spesso non è necessario se si è interessati solo alla previsione.


2
I would even recommend the entire book from I. Guyon and coworkers, j.mp/anblwx. The ESL book from Hastie et al., j.mp/bW3Hr4, provides also interesting discussions around this 'hot' topic.
chl

I disagree with your claim; FS is interesting on its own for some explanatory information that it delivers (marker/SNPs selection is an example when it is a main aim of analysis). The feature selection overfit is of course a problem, but there are methods to omit it.

Stavo sottolineando che FS non migliora necessariamente l'importanza predittiva e può peggiorare le cose. Se la ricerca delle funzionalità informative è di importanza intrinseca, è necessario ovviamente utilizzare FS, ma è possibile che le prestazioni predittive vengano compromesse se si verifica un sovra-adattamento al criterio di selezione delle funzionalità (che si verifica piuttosto facilmente). Per attività come l'analisi di micro-array, utilizzerei la regressione della cresta (insaccata) per le previsioni e qualcosa come LASSO per determinare le caratteristiche chiave (per comprendere la biologia). Non è necessario eseguire entrambe le operazioni nello stesso modello.
Dikran Marsupial,

1

Se usi R, l'importanza della variabile può essere calcolata con il metodo Importance nel pacchetto rminer. Questo è il mio codice di esempio:

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

In detail, refer to the following link https://cran.r-project.org/web/packages/rminer/rminer.pdf


2
This answer is incomplete. It does not describe what the variable importance in that package is trying to communicate.
Matthew Drury

I've added sample code
Takashi Kaneda
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.