使用MLR消除递归功能

时间:2018-10-11 09:03:03

标签: r r-caret mlr

可以使用mlr进行递归特征消除功能(rfe)吗? 我知道使用插入符号on php doc可以实现,但是即使有一些有关使用mlr选择功能的文档,我也找不到与rfe等效的文件。

1 个答案:

答案 0 :(得分:4)

要在mlr中执行递归特征消除,可以将函数'b与参数makeFeatSelControlSequential一起使用(顺序向后选择)。这是使用method = sbs学习者的用法示例:

lda

在这里,从60个变量中选择了57个。

您可以使用:

library(mlr)
ctrl <- makeFeatSelControlSequential(method = "sbs",
                                     beta = 0.005)

rdesc <- makeResampleDesc("CV", iters = 3)

sfeats <- selectFeatures(learner = "classif.lda",
                         task = sonar.task,
                         resampling = rdesc,
                         control = ctrl,
                         show.info = FALSE)


FeatSel result:
Features (57): V1, V2, V3, V4, V5, V6, V7, V8, V9, V11, V12, V13, V14, V15, V16, V17, V18, V19, V21, V22, V23, V24, V25, V26, V27, V28, V29, V30, V31, V32, V33, V34, V35, V36, V37, V38, V39, V40, V41, V42, V43, V44, V45, V46, V47, V48, V49, V50, V51, V52, V53, V54, V55, V56, V57, V58, V60
mmce.test.mean=0.2066943

掌握选择路径

analyzeFeatSelResult(sfeats)