mlr - 集成模型
mlr - Ensemble Models
mlr 包很棒,创建 ModelMultiplexer 的想法也有帮助。但是 ModelMultiplexer“选择”所用模型中的 1 个模型。
是否支持或计划支持创建单个模型的 Bagged 或 Boosted 集成?
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**
您在 mlr
中有一些选择。如果你只有一个模型,你可以使用 BaggingWrapper:
lrn = makeLearner("classif.PART")
bag.lrn = makeBaggingWrapper(lrn, bw.iters = 50, bw.replace = TRUE, bw.size = 0.8, bw.feats = 3/4)
the tutorial 中有更多详细信息。
对于多个学习者,您可以使用 stacking:
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
支持的学习器都支持提升,请参阅 list of all learners。
mlr 包很棒,创建 ModelMultiplexer 的想法也有帮助。但是 ModelMultiplexer“选择”所用模型中的 1 个模型。
是否支持或计划支持创建单个模型的 Bagged 或 Boosted 集成?
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**
您在 mlr
中有一些选择。如果你只有一个模型,你可以使用 BaggingWrapper:
lrn = makeLearner("classif.PART")
bag.lrn = makeBaggingWrapper(lrn, bw.iters = 50, bw.replace = TRUE, bw.size = 0.8, bw.feats = 3/4)
the tutorial 中有更多详细信息。
对于多个学习者,您可以使用 stacking:
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
支持的学习器都支持提升,请参阅 list of all learners。