SVMからの変数の重要性


回答:


19

重みベクトルでl-1ペナルティを使用すると、無関係な属性に対応する重みが自動的にゼロに設定されるため、自動フィーチャ選択が行われます。このペーパーを参照してください。各ゼロ以外の重みの(絶対)大きさは、対応する属性の重要性についての考えを与えることができます。

また、SVMから派生した基準を使用して属性の選択をガイドするこのペーパーを参照してください。


1
これらのアルゴリズムのいずれかがRまたは他のソフトウェアに実装されていますか?
ジョージドンタス

5
はい、R penalizedSVMパッケージをご覧ください。その他の地域内のパッケージは、次のとおりです。罰せられる、より一般的にelasticnet、PPLS、ラース、または:cran.r-project.org/web/views/MachineLearning.html
CHL

7

イザベル・ギヨン、アンドレElisseeff、「変数および機能の選択に入門」、JMLR、3(3月):1157年から1182年、2003年http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

読む価値が十分にあり、アプローチと問題の概要を説明します。私が追加することの1つは、機能選択が必ずしも予測パフォーマンスを改善するわけではなく、簡単に悪化させる可能性があることです(機能選択基準を簡単にオーバーフィットするため)。(特に線形の)SVMの利点の1つは、多数の機能でうまく機能することです(正則化パラメーターを適切に調整することを提供する)ので、予測のみに関心がある場合、多くの場合、必要はありません。


2
I. Guyonと同僚の本j.mp/anblwx全体をお勧めします。Hastie et al。のESL本j.mp/bW3Hr4も、この「ホットな」トピックに関する興味深い議論を提供します。
chl

あなたの主張に同意しません。FSは、それが提供するいくつかの説明情報にとって興味深いものです(マーカー/ SNPの選択は、分析の主な目的である場合の例です)。機能選択のオーバーフィットはもちろん問題ですが、それを省略する方法があります。

私は、FSが必ずしも予測の重要性を改善するわけではなく、悪化させる可能性があるということを指摘していました。有益な特徴を見つけることが本質的に重要な場合、もちろんFSを使用する必要がありますが、特徴選択基準の発生者を過剰適合させると予測パフォーマンスが損なわれる可能性があります(かなり簡単に起こります)。マイクロアレイ分析のようなタスクでは、予測に(バギング)リッジ回帰を使用し、主要な機能を決定する(生物学を理解するために)LASSOのようなものを使用します。同じモデルで両方を行う必要はありません。
ディクランMarsupial

1

Rを使用する場合、変数の重要度はrminerパッケージのImportanceメソッドで計算できます。これは私のサンプルコードです。

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

詳細については、次のリンクhttps://cran.r-project.org/web/packages/rminer/rminer.pdfを参照してください


2
この答えは不完全です。そのパッケージの変数の重要性が何を伝えようとしているかについては説明しません。
マシュードゥルーリー

サンプルコードを追加しました
金田隆志
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.