bagger {baguette} | R Documentation |
Bagging functions
Description
General suite of bagging functions for several models.
Usage
bagger(x, ...)
## Default S3 method:
bagger(x, ...)
## S3 method for class 'data.frame'
bagger(
x,
y,
weights = NULL,
base_model = "CART",
times = 11L,
control = control_bag(),
cost = NULL,
...
)
## S3 method for class 'matrix'
bagger(
x,
y,
weights = NULL,
base_model = "CART",
times = 11L,
control = control_bag(),
cost = NULL,
...
)
## S3 method for class 'formula'
bagger(
formula,
data,
weights = NULL,
base_model = "CART",
times = 11L,
control = control_bag(),
cost = NULL,
...
)
## S3 method for class 'recipe'
bagger(
x,
data,
base_model = "CART",
times = 11L,
control = control_bag(),
cost = NULL,
...
)
Arguments
x |
A data frame, matrix, or recipe (depending on the method being used). |
... |
Optional arguments to pass to the base model function. |
y |
A numeric or factor vector of outcomes. Categorical outcomes (i.e classes) should be represented as factors, not integers. |
weights |
A numeric vector of non-negative case weights. These values are not used during bootstrap resampling. |
base_model |
A single character value for the model being bagged. Possible values are "CART", "MARS", "nnet", and "C5.0" (classification only). |
times |
A single integer greater than 1 for the maximum number of bootstrap samples/ensemble members (some model fits might fail). |
control |
A list of options generated by |
cost |
A non-negative scale (for two class problems) or a cost matrix. |
formula |
An object of class "formula" (or one that can be coerced to that class): a symbolic description of the model to be fitted. Note that this package does not support multivariate outcomes and that, if some predictors are factors, dummy variables will not be created unless by the underlying model function. |
data |
A data frame containing the variables used in the formula or recipe. |
Details
bagger()
fits separate models to bootstrap samples. The
prediction function for each model object is encoded in an R expression and
the original model object is discarded. When making predictions, each
prediction formula is evaluated on the new data and aggregated using the
mean.
Variable importance scores are calculated using implementations in each
package. When requested, the results are in a tibble with column names
term
(the predictor), value
(the importance score), and used
(the
percentage of times that the variable was in the prediction equation).
The models can be fit in parallel using the future package. The
enable parallelism, use the future::plan()
function to declare how the
computations should be distributed. Note that this will almost certainly
multiply the memory requirements required to fit the models.
For neural networks, variable importance is calculated using the method of Garson described in Gevrey et al (2003)
References
Gevrey, M., Dimopoulos, I., and Lek, S. (2003). Review and comparison of methods to study the contribution of variables in artificial neural network models. Ecological Modelling, 160(3), 249-264.
Examples
library(recipes)
library(dplyr)
data(biomass, package = "modeldata")
biomass_tr <-
biomass %>%
dplyr::filter(dataset == "Training") %>%
dplyr::select(-dataset, -sample)
biomass_te <-
biomass %>%
dplyr::filter(dataset == "Testing") %>%
dplyr::select(-dataset, -sample)
# ------------------------------------------------------------------------------
ctrl <- control_bag(var_imp = TRUE)
# ------------------------------------------------------------------------------
# `times` is low to make the examples run faster
set.seed(7687)
cart_bag <- bagger(x = biomass_tr[, -6], y = biomass_tr$HHV,
base_model = "CART", times = 5, control = ctrl)
cart_bag
# ------------------------------------------------------------------------------
# Other interfaces
# Recipes can be used
biomass_rec <-
recipe(HHV ~ ., data = biomass_tr) %>%
step_pca(all_predictors())
set.seed(7687)
cart_pca_bag <- bagger(biomass_rec, data = biomass_tr, base_model = "CART",
times = 5, control = ctrl)
cart_pca_bag