| learner_sl | R Documentation |
Constructs a learner class object for fitting a superlearner.
learner_sl(
learners,
info = NULL,
nfolds = 5L,
meta.learner = metalearner_nnls,
model.score = mse,
learner.args = NULL,
...
)
learners |
(list) List of learner objects (i.e. learner_glm) |
info |
(character) Optional information to describe the instantiated learner object. |
nfolds |
(integer) Number of folds to use in cross-validation to estimate the ensemble weights. |
meta.learner |
(function) Algorithm to learn the ensemble weights
(default non-negative least squares). Must be a function of the response
(nx1 vector), |
model.score |
(function) Model scoring method (see learner) |
learner.args |
(list) Additional arguments to learner$new(). |
... |
Additional arguments to superlearner |
learner object.
cv.learner_sl
sim1 <- function(n = 5e2) {
x1 <- rnorm(n, sd = 2)
x2 <- rnorm(n)
y <- x1 + cos(x1) + rnorm(n, sd = 0.5**.5)
data.frame(y, x1, x2)
}
d <- sim1()
m <- list(
"mean" = learner_glm(y ~ 1),
"glm" = learner_glm(y ~ x1 + x2),
"iso" = learner_isoreg(y ~ x1)
)
s <- learner_sl(m, nfolds = 10)
s$estimate(d)
pr <- s$predict(d)
if (interactive()) {
plot(y ~ x1, data = d)
points(d$x1, pr, col = 2, cex = 0.5)
lines(cos(x1) + x1 ~ x1, data = d[order(d$x1), ],
lwd = 4, col = lava::Col("darkblue", 0.3))
}
print(s)
# weights(s$fit)
# score(s$fit)
cvres <- cv(s, data = d, nfolds = 3, rep = 2)
cvres
# coef(cvres)
# score(cvres)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.