mlr - 合奏模型

myl*_*nid 4 r ensemble-learning mlr

mlr包非常棒,创建ModelMultiplexer的想法也很有帮助.但ModelMultiplexer 从所使用的模型中" 选择 "了1个单一模型.

是否有任何支持或计划支持创建单个模型的Bagged或Boosted Ensemble?

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**
Run Code Online (Sandbox Code Playgroud)

Lar*_*off 6

你有几个选择mlr.如果你有一个型号,你可以使用BaggingWrapper:

lrn = makeLearner("classif.PART")
bag.lrn = makeBaggingWrapper(lrn, bw.iters = 50, bw.replace = TRUE, bw.size = 0.8, bw.feats = 3/4)
Run Code Online (Sandbox Code Playgroud)

教程中有关于此的更多详细信息.

对于多个学习者,您可以使用堆叠:

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())
Run Code Online (Sandbox Code Playgroud)

您可以使用不同的方法组合基础学习者的预测,包括在他们之上安装另一个学习者.您还可以将其与个性化学习者的装袋相结合.

许多mlr支持的学习者都支持提升,请参阅所有学习者列表.