Importância variável do SVM

Respostas:

19

Se você usar a penalidade de l-1 no vetor de ponderação, ele fará a seleção automática de recursos, pois os pesos correspondentes a atributos irrelevantes são automaticamente definidos como zero. Veja este documento . A magnitude (absoluta) de cada peso diferente de zero pode dar uma idéia sobre a importância do atributo correspondente.

Veja também este documento que usa critérios derivados de SVMs para orientar a seleção de atributos.

ebony1
fonte
1
Algum desses algos foi implementado no R ou em outro software?
George Dontas
5
Sim, dê uma olhada no pacote R penalizedSVM. Outros pacotes de interesse são: penalized, elasticnet, ppls, lars ou mais geralmente: cran.r-project.org/web/views/MachineLearning.html
chl
7

Isabelle Guyon, André Elisseeff, "Uma introdução à seleção de variáveis ​​e recursos", JMLR, 3 (mar): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

vale a pena ler, fornecerá uma boa visão geral de abordagens e questões. A única coisa que gostaria de acrescentar é que a seleção de recursos não melhora necessariamente o desempenho preditivo e pode facilmente piorar (porque é fácil ajustar o critério de seleção de recursos). Uma das vantagens dos SVMs (especialmente lineares) é que eles funcionam bem com um grande número de recursos (desde que você ajuste o parâmetro de regularização corretamente); portanto, muitas vezes não há necessidade se você estiver interessado apenas em previsão.

Dikran Marsupial
fonte
2
Eu até recomendaria o livro inteiro de I. Guyon e colegas de trabalho, j.mp/anblwx . O livro de ESL de Hastie et al., J.mp/bW3Hr4 , também fornece discussões interessantes sobre esse tópico "quente".
chl
Eu discordo de sua reivindicação; O FS é interessante por si só para algumas informações explicativas que ele fornece (a seleção de marcadores / SNPs é um exemplo quando é o principal objetivo da análise). O excesso de ajuste na seleção de recursos é obviamente um problema, mas existem métodos para omiti-lo.
Eu estava argumentando que o FS não melhora necessariamente a importância preditiva e pode piorar. Se encontrar os recursos informativos é de importância intrínseca, é claro que o FS deve ser usado, mas pode ser que o desempenho preditivo seja comprometido se o ajuste excessivo dos critérios de seleção de recursos ocorrer (o que ocorre com bastante facilidade). Para tarefas como análise de micro-matriz, eu usaria regressão de cume (ensacada) para previsões e algo como o LASSO para determinar os principais recursos (para obter entendimento da biologia). Não há necessidade de fazer as duas coisas no mesmo modelo.
Dikran Marsupial
1

Se você usar R, a importância da variável poderá ser calculada com o método Importance no pacote rminer. Este é o meu código de exemplo:

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

Em detalhes, consulte o seguinte link https://cran.r-project.org/web/packages/rminer/rminer.pdf

Takashi Kaneda
fonte
2
Esta resposta está incompleta. Não descreve qual é a importância da variável nesse pacote que está tentando se comunicar.
Matthew Drury
Eu adicionei o código de exemplo
Takashi Kaneda