Skip to content

These functions extract various elements from a parsnip object. If they do not exist yet, an error is thrown.

Usage

# S3 method for model_fit
extract_spec_parsnip(x, ...)

# S3 method for model_fit
extract_fit_engine(x, ...)

# S3 method for model_spec
extract_parameter_set_dials(x, ...)

# S3 method for model_spec
extract_parameter_dials(x, parameter, ...)

Arguments

x

A parsnip model_fit object or a parsnip model_spec object.

...

Not currently used.

parameter

A single string for the parameter ID.

Value

The extracted value from the parsnip object, x, as described in the description section.

Details

Extracting the underlying engine fit can be helpful for describing the model (via print(), summary(), plot(), etc.) or for variable importance/explainers.

However, users should not invoke the predict() method on an extracted model. There may be preprocessing operations that parsnip has executed on the data prior to giving it to the model. Bypassing these can lead to errors or silently generating incorrect predictions.

Good:

parsnip_fit %>% predict(new_data)

Bad:

parsnip_fit %>% extract_fit_engine() %>% predict(new_data)

Examples

lm_spec <- linear_reg() %>% set_engine("lm")
lm_fit <- fit(lm_spec, mpg ~ ., data = mtcars)

lm_spec
#> Linear Regression Model Specification (regression)
#> 
#> Computational engine: lm 
#> 
extract_spec_parsnip(lm_fit)
#> Linear Regression Model Specification (regression)
#> 
#> Computational engine: lm 
#> 
#> Model fit template:
#> stats::lm(formula = missing_arg(), data = missing_arg(), weights = missing_arg())

extract_fit_engine(lm_fit)
#> 
#> Call:
#> stats::lm(formula = mpg ~ ., data = data)
#> 
#> Coefficients:
#> (Intercept)          cyl         disp           hp         drat  
#>    12.30337     -0.11144      0.01334     -0.02148      0.78711  
#>          wt         qsec           vs           am         gear  
#>    -3.71530      0.82104      0.31776      2.52023      0.65541  
#>        carb  
#>    -0.19942  
#> 
lm(mpg ~ ., data = mtcars)
#> 
#> Call:
#> lm(formula = mpg ~ ., data = mtcars)
#> 
#> Coefficients:
#> (Intercept)          cyl         disp           hp         drat  
#>    12.30337     -0.11144      0.01334     -0.02148      0.78711  
#>          wt         qsec           vs           am         gear  
#>    -3.71530      0.82104      0.31776      2.52023      0.65541  
#>        carb  
#>    -0.19942  
#>