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
vector.
spec
: A model_spec
object.
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 x
and y
and the user passed a formula to fit
, the preproc
object would contain items such as the terms object and so on.
When no information is required, this is NA
.
As discussed in the documentation for model_spec
, the
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
specification.
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 #>#> parsnip model object #> #> Fit time: 4ms #> #> 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 #>#> [1] 32