caretEnsemble {caretEnsemble} | R Documentation |
Functions for creating ensembles of caret models: caretList and caretStack
Find a good linear combination of several classification or regression models, using linear regression.
caretEnsemble(all.models, ...)
all.models |
an object of class caretList |
... |
additional arguments to pass to the optimization function |
Every model in the "library" must be a separate train
object. For
example, if you wish to combine a random forests with several different
values of mtry, you must build a model for each value of mtry. If you
use several values of mtry in one train model, (e.g. tuneGrid =
expand.grid(.mtry=2:5)), caret will select the best value of mtry
before we get a chance to include it in the ensemble. By default,
RMSE is used to ensemble regression models, and AUC is used to ensemble
Classification models. This function does not currently support multi-class
problems
a caretEnsemble
object
Currently when missing values are present in the training data, weights are calculated using only observations which are complete across all models in the library.The optimizer ignores missing values and calculates the weights with the observations and predictions available for each model separately. If each of the models has a different pattern of missingness in the predictors, then the resulting ensemble weights may be biased and the function issues a message.
## Not run: set.seed(42) models <- caretList(iris[1:50,1:2], iris[1:50,3], methodList=c("glm", "lm")) ens <- caretEnsemble(models) summary(ens) ## End(Not run)