The makeStackedLearner
function in the R packages mlr seems to require a super.learner
for method="stack.cv"
and others (at least in some cases). However I couldn't find any information about how to choose one. What to look for in a suitable super.learner
? Which ones are generally good choices?
Asked
Active
Viewed 565 times
2
1 Answers
2
In principle, all learners will do -- the super learner takes the predictions produced by the layer below and uses them as features to make the final predictions. Technically, the only thing that's required is that the super learner supports the feature type of the predictions from the layer below.
The same principles as for choosing a learner in general apply. Random forests are usually good learners to start with, but you probably want to experiment with different ones to see which one is best for your particular case.

Lars Kotthoff
- 107,425
- 16
- 204
- 204
-
So, if random forests and the likes are suitable learners, wouldn't I have to tune it somehow as well? Especially if I set use.feat = TRUE. – tover Aug 10 '17 at 16:03
-
For best performance, yes. The same criteria as for selecting a "normal" learner apply. – Lars Kotthoff Aug 10 '17 at 16:04
-
Is this possible with mlr? – tover Aug 10 '17 at 16:05
-
Yes, you can get the hyperparameters though `stacked.learner$super.learner$par.set / $par.vals`. – Lars Kotthoff Aug 10 '17 at 17:37
-
That means mlr doesn't provide a tuning function for the super.learner hyperparameters and therefore I have to do it manually by trying different values myself, doesn't it? – tover Aug 10 '17 at 18:32
-
No, you should be able to do it -- see [here](https://github.com/mlr-org/mlr/issues/1266) for an example. Sorry, this isn't really documented yet... – Lars Kotthoff Aug 10 '17 at 18:36