| learner | R Documentation |
Interface for statistical and machine learning models to be used for nuisance model estimation in targeted learning.
The following list provides an overview of constructors for many commonly used models.
Regression and classification: learner_glm, learner_gam, learner_grf,
learner_hal, learner_glmnet_cv, learner_svm, learner_xgboost,
learner_mars
Regression: learner_isoreg
Classification: learner_naivebayes
Ensemble (super learner): learner_sl
infoOptional information/name of the model
clearRemove fitted model from the learner object
fitReturn estimated model object.
formulaReturn model formula. Use learner$update() to update the formula.
new()Create a new prediction model object
learner$new( formula = NULL, estimate, predict = stats::predict, predict.args = NULL, estimate.args = NULL, info = NULL, specials = c(), formula.keep.specials = FALSE, intercept = FALSE )
formulaformula specifying outcome and design matrix
estimatefunction for fitting the model. This must be a function with response, 'y', and design matrix, 'x'. Alternatively, a function with a formula and data argument. See the examples section.
predictprediction function (must be a function of model object, 'object', and new design matrix, 'newdata')
predict.argsoptional arguments to prediction function
estimate.argsoptional arguments to estimate function
infooptional description of the model
specialsoptional specials terms (weights, offset, id, subset, ...) passed on to design
formula.keep.specialsif TRUE then special terms defined by
specials will be removed from the formula before it is being passed to
the estimate print.function()
intercept(logical) include intercept in design matrix
estimate()Estimation method
learner$estimate(data, ..., store = TRUE)
datadata.frame
...Additional arguments to estimation method
storeLogical determining if estimated model should be stored inside the class.
predict()Prediction method
learner$predict(newdata, ..., object = NULL)
newdatadata.frame
...Additional arguments to prediction method
objectOptional model fit object
update()Update formula
learner$update(formula)
formulaformula or character which defines the new response
print()Print method
learner$print()
summary()Summary method to provide more extensive information than learner$print().
learner$summary()
summarized_learner object, which is a list with the following elements:
description of the learner
formula specifying outcome and design matrix
function for fitting the model
arguments to estimate function
function for making predictions from fitted model
arguments to predict function
provided special terms
include intercept in design matrix
lr <- learner_glm(y ~ x, family = "nb") lr$summary() lr_sum <- lr$summary() # store returned summary in new object names(lr_sum) print(lr_sum)
response()Extract response from data
learner$response(data, eval = TRUE, ...)
datadata.frame
evalwhen FALSE return the untransformed outcome (i.e., return 'a' if formula defined as I(a==1) ~ ...)
...additional arguments to design
design()Generate design object (design matrix and response) from data
learner$design(data, ...)
datadata.frame
...additional arguments to design
opt()Get options
learner$opt(arg)
argname of option to get value of
clone()The objects of this class are cloneable with this method.
learner$clone(deep = FALSE)
deepWhether to make a deep clone.
Klaus Kähler Holst, Benedikt Sommer
data(iris)
rf <- function(formula, ...) {
learner$new(formula,
info = "grf::probability_forest",
estimate = function(x, y, ...) {
grf::probability_forest(X = x, Y = y, ...)
},
predict = function(object, newdata) {
predict(object, newdata)$predictions
},
estimate.args = list(...)
)
}
args <- expand.list(
num.trees = c(100, 200), mtry = 1:3,
formula = c(Species ~ ., Species ~ Sepal.Length + Sepal.Width)
)
models <- lapply(args, function(par) do.call(rf, par))
x <- models[[1]]$clone()
x$estimate(iris)
predict(x, newdata = head(iris))
# Reduce Ex. timing
a <- targeted::cv(models, data = iris)
cbind(coef(a), attr(args, "table"))
# defining learner via function with arguments y (response)
# and x (design matrix)
f1 <- learner$new(
estimate = function(y, x) lm.fit(x = x, y = y),
predict = function(object, newdata) newdata %*% object$coefficients
)
# defining the learner via arguments formula and data
f2 <- learner$new(
estimate = function(formula, data, ...) glm(formula, data, ...)
)
# generic learner defined from function (predict method derived per default
# from stats::predict
f3 <- learner$new(
estimate = function(dt, ...) {
lm(y ~ x, data = dt)
}
)
## ------------------------------------------------
## Method `learner$summary`
## ------------------------------------------------
lr <- learner_glm(y ~ x, family = "nb")
lr$summary()
lr_sum <- lr$summary() # store returned summary in new object
names(lr_sum)
print(lr_sum)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.