SVM的重要性不一


Answers:


19

如果对权重向量使用-1惩罚,则它将自动进行特征选择,因为与不相关的属性对应的权重会自动设置为零。参见本文。每个非零权重的(绝对)大小可以使您对相应属性的重要性有所了解。

另请参阅本文该论文使用从SVM派生的标准来指导属性选择。


1
这些算法中有没有用R或其他软件实现的?
乔治·唐塔斯

5
是的,看看R penalizedSVM软件包。其他感兴趣的软件包是:惩罚性的,Elasticnet,ppls,lars或更笼统的:cran.r-project.org/web/views/MachineLearning.html
chl

7

伊莎贝尔Guyon的,安德烈Elisseeff, “导论变量和特征选择”,JMLR,3(3月):1157至1182年,2003年http://jmlr.csail.mit.edu/papers/v3/guyon03a.html

值得一读,它将很好地概述方法和问题。我要补充的一件事是,特征选择并不一定会提高预测性能,并且很容易使其变差(因为很容易过度拟合特征选择标准)。(尤其是线性)SVM的优点之一是它们可以与大量功能一起很好地工作(前提是您可以正确调整正则化参数),因此,如果您仅对预测感兴趣,通常就不需要。


2
我什至会推荐I. Guyon和其同事j.mp/anblwx的整本书。Hastie等人的ESL书j.mp/bW3Hr4也提供了有关此“热门”主题的有趣讨论。
chl

我不同意你的主张;FS本身就对它提供的一些解释性信息很感兴趣(当标记/ SNP选择是分析的主要目标时,就是一个例子)。特征选择过拟合当然是一个问题,但是有一些方法可以忽略它。

我提出的观点是,FS不一定会提高预测的重要性,并且会使它变得更糟。如果发现信息特征具有内在的重要性,那么当然应该使用FS,但是如果过度适合特征选择标准的发生(很容易发生),很可能会损害预测性能。对于诸如微阵列分析之类的任务,我将使用(装袋的)岭回归进行预测,并使用LASSO之类的方法确定关键特征(以加深对生物学的了解)。无需在同一模型中同时执行这两项操作。
迪克兰有袋动物

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
这个答案是不完整的。它没有描述该程序包中试图传达的变量重要性。
马修·德鲁里

我添加了示例代码
Takashi Kaneda
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.