lm objects are created from the base stats package.
Usage
# S3 method for lm
axe_call(x, verbose = FALSE, ...)
# S3 method for lm
axe_env(x, verbose = FALSE, ...)
# S3 method for lm
axe_fitted(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.
Examples
# Load libraries
library(parsnip)
library(rsample)
# Load data
split <- initial_split(mtcars, prop = 9/10)
car_train <- training(split)
# Create model and fit
lm_fit <- linear_reg() %>%
set_engine("lm") %>%
fit(mpg ~ ., data = car_train)
out <- butcher(lm_fit, verbose = TRUE)
#> ✔ Memory released: 12.18 kB
# Another lm object
wrapped_lm <- function() {
some_junk_in_environment <- runif(1e6)
fit <- lm(mpg ~ ., data = mtcars)
return(fit)
}
# Remove junk
cleaned_lm <- axe_env(wrapped_lm(), verbose = TRUE)
#> ✔ Memory released: 8.08 MB
# Check size
lobstr::obj_size(cleaned_lm)
#> 23.18 kB
# Compare environment in terms component
lobstr::obj_size(attr(wrapped_lm()$terms, ".Environment"))
#> 8.02 MB
lobstr::obj_size(attr(cleaned_lm$terms, ".Environment"))
#> 0 B