首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mlr -集成模型

mlr -集成模型
EN

Stack Overflow用户
提问于 2016-01-21 09:43:17
回答 1查看 2.2K关注 0票数 4

mlr包很棒,创建ModelMultiplexer的想法也很有帮助。但是ModelMultiplexer“”从所使用的模型中选择1。

是否有任何支持或计划的支持来创建一个打包或提升的单个模型集合?

代码语言:javascript
复制
bls = list(
  makeLearner("classif.ksvm"),
  makeLearner("classif.randomForest")
)
lrn = makeModelMultiplexer(bls)
ps = makeModelMultiplexerParamSet(lrn,
  makeNumericParam("sigma", lower = -10, upper = 10, trafo = function(x) 2^x),
  makeIntegerParam("ntree", lower = 1L, upper = 500L))
> print(res)
Tune result:
**Op. pars: selected.learner=classif.randomForest; classif.randomForest.ntree=197
mmce.test.mean=0.0333**
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-21 18:09:05

mlr中有几个选项。如果只有一个模型,则可以使用BaggingWrapper

代码语言:javascript
复制
lrn = makeLearner("classif.PART")
bag.lrn = makeBaggingWrapper(lrn, bw.iters = 50, bw.replace = TRUE, bw.size = 0.8, bw.feats = 3/4)

本教程中有更多关于这方面的细节。

对于一些学习者,您可以使用堆叠

代码语言:javascript
复制
base.learners = list(
  makeLearner("classif.ksvm"),
  makeLearner("classif.randomForest")
)
lrn = makeStackedLearner(base.learners, super.learner = NULL, predict.type = NULL,
  method = "stack.nocv", use.feat = FALSE, resampling = NULL,
  parset = list())

你可以结合基础学习者的预测使用不同的方法,包括在他们的基础上拟合另一个学习者。你也可以把这与个别学习者的套袋结合起来。

mlr所支持的许多学习者都支持Boosting,参见所有学习者名单

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34920130

复制
相关文章

相似问题

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