r - mlr - 集成模型

标签 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**

最佳答案

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 支持的许多学习器都支持 Boosting,请参阅 list of all learners .

关于r - mlr - 集成模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920130/

相关文章:

R:使用 regr.svm 任务在 mlr 中使用新因子水平进行预测

r - 给定条件的总和值

替换文本中大于5位的数字

python - 在梯度增强分类器中使用sample_weight

machine-learning - scikit-learn RandomForestClassifier 中特征重要性和森林结构如何相关?

python - matplotlib 不支持生成器作为输入

r - 使用dplyr分组并过滤数据管理

r - 为 CV 结果的 e1071 中的 svm 生成混淆矩阵

r - Xgboost 在 R 中使用 mlr 实现生存

r - 在 mlr 中调整整数向量