Importancia variable de SVM

Respuestas:

19

Si utiliza la penalización l-1 en el vector de peso, realiza una selección automática de características, ya que los pesos correspondientes a los atributos irrelevantes se establecen automáticamente en cero. Ver este artículo . La magnitud (absoluta) de cada peso distinto de cero puede dar una idea sobre la importancia del atributo correspondiente.

También mire este documento que utiliza criterios derivados de SVM para guiar la selección de atributos.

ébano1
fuente
1
¿Se ha implementado alguno de esos algos en R u otro software?
George Dontas
55
Sí, eche un vistazo al paquete R penalizedSVM. Otros paquetes de interés son: penalizado, elasticnet, ppls, lars, o más generalmente: cran.r-project.org/web/views/MachineLearning.html
chl
7

Isabelle Guyon, André Elisseeff, "Una introducción a la selección de variables y características", JMLR, 3 (marzo): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

Vale la pena leerlo, dará una buena visión general de los enfoques y problemas. Lo único que agregaría es que la selección de características no necesariamente mejora el rendimiento predictivo, y puede empeorarlo fácilmente (porque es fácil sobrepasar el criterio de selección de características). Una de las ventajas de los SVM (especialmente lineales) es que funcionan bien con un gran número de características (siempre que ajuste el parámetro de regularización correctamente), por lo que a menudo no es necesario si solo está interesado en la predicción.

Dikran Marsupial
fuente
2
Incluso recomendaría el libro completo de I. Guyon y compañeros de trabajo, j.mp/anblwx . El libro de ESL de Hastie et al., J.mp/bW3Hr4 , también ofrece discusiones interesantes sobre este tema 'candente'.
chl
No estoy de acuerdo con tu reclamo; FS es interesante por sí solo para obtener información explicativa que ofrece (la selección de marcadores / SNP es un ejemplo cuando es un objetivo principal de análisis). El sobreajuste de selección de características es, por supuesto, un problema, pero hay métodos para omitirlo.
Estaba señalando que FS no necesariamente mejora la importancia predictiva y puede empeorarlo. Si encontrar las características informativas es de importancia intrínseca, entonces, por supuesto, se debe utilizar FS, pero es muy posible que el rendimiento predictivo se vea comprometido si se ajustan demasiado los criterios de selección de características (lo que ocurre con bastante facilidad). Para tareas como el análisis de microarrays, usaría la regresión de cresta (en bolsas) para las predicciones y algo como el LASSO para determinar las características clave (para comprender la biología). No hay necesidad de hacer ambas cosas en el mismo modelo.
Dikran Marsupial
1

Si usa R, la importancia variable se puede calcular con el método Importancia en el paquete rminer. Este es mi código de muestra:

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

En detalle, consulte el siguiente enlace https://cran.r-project.org/web/packages/rminer/rminer.pdf

Takashi Kaneda
fuente
2
Esta respuesta es incompleta. No describe cuál es la importancia variable en ese paquete que intenta comunicarse.
Matthew Drury
He agregado un código de muestra
Takashi Kaneda, el