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.