【问题标题】:Example for svm feature selection in RR中的支持向量机特征选择示例
【发布时间】:2013-07-05 22:57:27
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    caret 包中的函数rfe 为各种算法执行递归特征选择。这是来自caretdocumentation 的示例:

    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
    

    【讨论】:

    • 这里的sizes = c(2, 5, 10, 20) 是什么?这是否意味着特征 2、10 和 20?
    • @Mahsolid 不,这是将使用的功能数量。 rfe 将尝试找到该向量中给定的每个大小的最佳模型。查看 rfe 文档了解更多详情。
    • @DavidMarx 感谢您的解释。 rfe()函数调用中的number = 200是什么意思?
    猜你喜欢
    • 2016-05-19
    • 2016-08-04
    • 2012-01-31
    • 2013-01-03
    • 1970-01-01
    • 2020-08-28
    • 2020-06-19
    • 2021-04-20
    • 2016-09-25
    相关资源
    最近更新 更多