An object with class "model_fit" is a container for information about a model that has been fit to the data.
The main elements of the object are:
lvl: A vector of factor levels when the outcome is
a factor. This is
NULL when the outcome is not a factor
fit: The object produced by the fitting function.
preproc: This contains any data-specific information
required to process new a sample point for prediction. For
example, if the underlying model function requires arguments
y and the user passed a formula to
object would contain items such as the terms object and so on.
When no information is required, this is
As discussed in the documentation for
original arguments to the specification are saved as quosures.
These are evaluated for the
model_fit object prior to fitting.
If the resulting model object prints its call, any user-defined
options are shown in the call preceded by a tilde (see the
example below). This is a result of the use of quosures in the
This class and structure is the basis for how parsnip stores model objects after seeing the data and applying a model.
# Keep the `x` matrix if the data are not too big. spec_obj <- linear_reg() %>% set_engine("lm", x = ifelse(.obs() < 500, TRUE, FALSE)) spec_obj#> Linear Regression Model Specification (regression) #> #> Engine-Specific Arguments: #> x = ifelse(.obs() < 500, TRUE, FALSE) #> #> Computational engine: lm #>fit_obj <- fit(spec_obj, mpg ~ ., data = mtcars) fit_obj#> parsnip model object #> #> Fit time: 3ms #> #> Call: #> stats::lm(formula = mpg ~ ., data = data, x = ~ifelse(.obs() < #> 500, TRUE, FALSE)) #> #> Coefficients: #> (Intercept) cyl disp hp drat wt #> 12.30337 -0.11144 0.01334 -0.02148 0.78711 -3.71530 #> qsec vs am gear carb #> 0.82104 0.31776 2.52023 0.65541 -0.19942 #>nrow(fit_obj$fit$x)#>  32