使用 mlr 进行递归特征消除
Recursive feature elimination with mlr
是否可以使用 mlr 进行递归特征消除特征 (rfe)?
我知道使用 caret here 可以做到这一点,但即使有一些关于使用 mlr 进行特征选择的文档,我也没有找到与 rfe.
等价的文档
要在 mlr 中执行递归特征消除,您可以使用带有参数 method = sbs
的函数 makeFeatSelControlSequential
(顺序向后选择)。这是使用 lda
learner 的用法示例:
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
此处,从 60 个变量中选择了 57 个。
您可以使用:
analyzeFeatSelResult(sfeats)
掌握选择路径
#output
Path to optimum:
- Features: 60 Init : Perf = 0.26936 Diff: NA *
- Features: 59 Remove : V59 Perf = 0.2403 Diff: 0.029055 *
- Features: 58 Remove : V10 Perf = 0.22588 Diff: 0.014424 *
- Features: 57 Remove : V20 Perf = 0.20669 Diff: 0.019186 *
Stopped, because no improving feature was found.
是否可以使用 mlr 进行递归特征消除特征 (rfe)? 我知道使用 caret here 可以做到这一点,但即使有一些关于使用 mlr 进行特征选择的文档,我也没有找到与 rfe.
等价的文档要在 mlr 中执行递归特征消除,您可以使用带有参数 method = sbs
的函数 makeFeatSelControlSequential
(顺序向后选择)。这是使用 lda
learner 的用法示例:
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
此处,从 60 个变量中选择了 57 个。
您可以使用:
analyzeFeatSelResult(sfeats)
掌握选择路径
#output
Path to optimum:
- Features: 60 Init : Perf = 0.26936 Diff: NA *
- Features: 59 Remove : V59 Perf = 0.2403 Diff: 0.029055 *
- Features: 58 Remove : V10 Perf = 0.22588 Diff: 0.014424 *
- Features: 57 Remove : V20 Perf = 0.20669 Diff: 0.019186 *
Stopped, because no improving feature was found.