Importance variable de SVM

Réponses:

19

Si vous utilisez une pénalité l-1 sur le vecteur de pondération, la sélection de fonction est automatique car les pondérations correspondant aux attributs non pertinents sont automatiquement définies sur zéro. Voir ce papier . La magnitude (absolue) de chaque poids différent de zéro peut donner une idée de l'importance de l'attribut correspondant.

Regardez également cet article qui utilise des critères dérivés des SVM pour guider la sélection des attributs.

ébène1
la source
1
L'un de ces algorithmes a-t-il été implémenté dans R ou un autre logiciel?
George Dontas
5
Oui, jetez un coup d’œil au paquet R penalisedSVM. Les autres paquets d’intérêt sont les suivants: penalisé, réseau élastique, personnes, ou plus généralement: cran.r-project.org/web/views/MachineLearning.html
chl
7

Isabelle Guyon, André Elisseeff, "Introduction à la sélection de variables et de caractéristiques", JMLR, 3 (mars): 1157-1182, 2003. http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

mérite d'être lu, il vous donnera un bon aperçu des approches et des problèmes. J'ajouterais que la sélection des fonctionnalités n'améliore pas nécessairement les performances prédictives et peut facilement aggraver la situation (car il est facile de sur-ajuster le critère de sélection des fonctionnalités). L'un des avantages des SVM (particulièrement linéaires) est qu'ils fonctionnent bien avec un grand nombre de fonctionnalités (à condition que vous régliez correctement le paramètre de régularisation). Il n'est donc souvent pas nécessaire de vous intéresser uniquement à la prédiction.

Dikran Marsupial
la source
2
Je recommanderais même tout le livre de I. Guyon et ses collègues, j.mp/anblwx . Le livre ESL de Hastie et al., J.mp/bW3Hr4 , fournit également des discussions intéressantes sur ce sujet "d'actualité".
chl
Je ne suis pas d'accord avec votre demande. FS est intéressant en soi pour certaines informations explicatives qu’il délivre (la sélection de marqueurs / SNP est un exemple lorsqu’il s’agit d’un objectif principal de l’analyse). L'overfit de sélection de fonctionnalités est bien sûr un problème, mais il existe des méthodes pour l'omettre.
Je faisais remarquer que les services financiers n'améliorent pas nécessairement l'importance prédictive et peuvent aggraver les choses. Si la recherche des caractéristiques informatives revêt une importance intrinsèque, alors bien sûr, FS devrait être utilisé, mais il est fort probable que les performances prédictives soient compromises si le critère de sélection des caractéristiques est surajusté (ce qui se produit assez facilement). Pour des tâches telles que l'analyse de micro-réseaux, j'utiliserais une régression de sillons (en sachet) pour les prédictions et quelque chose comme LASSO pour déterminer les caractéristiques clés (pour mieux comprendre la biologie). Il n'est pas nécessaire de faire les deux dans le même modèle.
Dikran Marsupial
1

Si vous utilisez R, l'importance de la variable peut être calculée avec la méthode Importance dans le package rminer. Ceci est mon exemple de code:

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

Dans le détail, reportez - vous au lien suivant https://cran.r-project.org/web/packages/rminer/rminer.pdf

Takashi Kaneda
la source
2
Cette réponse est incomplète. Il ne décrit pas ce que l’importance variable de ce paquetage tente de communiquer.
Matthew Drury
J'ai ajouté un exemple de code
Takashi Kaneda le