Functions stored in model objects often have heavy environments and bytecode attached. To avoid breaking any post-estimation functions on the model object, the butchered_function class is not appended.

# S3 method for `function`
axe_env(x, verbose = FALSE, ...)

Arguments

x

A model object.

verbose

Print information each time an axe method is executed. Notes how much memory is released and what functions are disabled. Default is FALSE.

...

Any additional arguments related to axing.

Value

Axed function.

Examples

# \donttest{ # Load libraries suppressWarnings(suppressMessages(library(caret))) data(iris) train_data <- iris[, 1:4] train_classes <- iris[, 5] train_fit <- train(train_data, train_classes, method = "knn", preProcess = c("center", "scale"), tuneLength = 10, trControl = trainControl(method = "cv")) out <- axe_env(train_fit$modelInfo$prob, verbose = TRUE)
#> Memory released: '40,120 B'
#> Could not add 'butchered' class
out <- axe_env(train_fit$modelInfo$levels, verbose = TRUE)
#> Memory released: '40,176 B'
#> Could not add 'butchered' class
out <- axe_env(train_fit$modelInfo$predict, verbose = TRUE)
#> Memory released: '3,704 B'
#> Could not add 'butchered' class
# }