R中svm特征选择的示例

时间:2013-07-08 14:44:16

标签: r machine-learning weka svm feature-selection

我正在尝试使用R包在SVM中应用特征选择(例如递归特征选择)。我已经安装了Weka,它支持LibSVM中的功能选择,但我没有找到任何SVM语法或类似的例子。一个简短的例子将是一个很大的帮助。

1 个答案:

答案 0 :(得分:14)

rfe包中的函数caret执行各种算法的递归特征选择。以下是caret documentation

中的示例
library(caret)
data(BloodBrain, package="caret")
x <- scale(bbbDescr[,-nearZeroVar(bbbDescr)])
x <- x[, -findCorrelation(cor(x), .8)]
x <- as.data.frame(x)
svmProfile <- rfe(x, logBBB,
                  sizes = c(2, 5, 10, 20),
                  rfeControl = rfeControl(functions = caretFuncs,
                                          number = 200),
                  ## pass options to train()
                  method = "svmRadial")

# Here's what your results look like (this can take some time)
> svmProfile

Recursive feature selection

Outer resampling method: Bootstrap (200 reps) 

Resampling performance over subset size:

  Variables   RMSE Rsquared  RMSESD RsquaredSD Selected
2 0.6106   0.4013 0.05581    0.08162         
5 0.5689   0.4777 0.05305    0.07665         
10 0.5510   0.5086 0.05253    0.07222         
20 0.5203   0.5628 0.04892    0.06721         
71 0.5202   0.5630 0.04911    0.06703        *

  The top 5 variables (out of 71):
  fpsa3, tcsa, prx, tcpa, most_positive_charge