mlr包很棒,创建ModelMultiplexer的想法也很有帮助。但是ModelMultiplexer“”从所使用的模型中选择1。
是否有任何支持或计划的支持来创建一个打包或提升的单个模型集合?
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**发布于 2016-01-21 18:09:05
在mlr中有几个选项。如果只有一个模型,则可以使用BaggingWrapper
lrn = makeLearner("classif.PART")
bag.lrn = makeBaggingWrapper(lrn, bw.iters = 50, bw.replace = TRUE, bw.size = 0.8, bw.feats = 3/4)在本教程中有更多关于这方面的细节。
对于一些学习者,您可以使用堆叠
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,参见所有学习者名单。
https://stackoverflow.com/questions/34920130
复制相似问题