首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用mlr进行递归特征消除

用mlr进行递归特征消除
EN

Stack Overflow用户
提问于 2018-10-11 09:03:02
回答 1查看 383关注 0票数 1

是否可以使用mlr执行递归特征消除功能(rfe)?我知道用插入符号这里可以做到这一点,但是即使有一些关于mlr特性选择的文档,我也没有找到与rfe等价的文档。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 11:18:23

要在mlr中执行递归特性消除,可以使用函数makeFeatSelControlSequential和参数method = sbs (顺序向后选择)。下面是一个使用lda学习者的示例:

代码语言:javascript
复制
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个变量。

您可以使用:

代码语言:javascript
复制
analyzeFeatSelResult(sfeats)

若要获取选择路径,请执行以下操作

代码语言:javascript
复制
#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.
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52756198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档