`translate()`

will translate a model specification into a code
object that is specific to a particular engine (e.g. R package).
It translates generic parameters to their counterparts.

translate(x, ...) # S3 method for default translate(x, engine = x$engine, ...)

x | A model specification. |
---|---|

... | Not currently used. |

engine | The computational engine for the model (see |

`translate()`

produces a *template* call that lacks the specific
argument values (such as `data`

, etc). These are filled in once
`fit()`

is called with the specifics of the data for the model.
The call may also include `varying`

arguments if these are in
the specification.

It does contain the resolved argument names that are specific to the model fitting function/engine.

This function can be useful when you need to understand how
`parsnip`

goes from a generic model specific to a model fitting
function.

**Note**: this function is used internally and users should only use it
to understand what the underlying syntax would be. It should not be used
to modify the model specification.

lm_spec <- linear_reg(penalty = 0.01) # `penalty` is tranlsated to `lambda` translate(lm_spec, engine = "glmnet")#> Linear Regression Model Specification (regression) #> #> Main Arguments: #> penalty = 0.01 #> #> Computational engine: glmnet #> #> Model fit template: #> glmnet::glmnet(x = missing_arg(), y = missing_arg(), weights = missing_arg(), #> family = "gaussian")# `penalty` not applicable for this model. translate(lm_spec, engine = "lm")#> Linear Regression Model Specification (regression) #> #> Main Arguments: #> penalty = 0.01 #> #> Computational engine: lm #> #> Model fit template: #> stats::lm(formula = missing_arg(), data = missing_arg(), weights = missing_arg())# `penalty` is tranlsated to `reg_param` translate(lm_spec, engine = "spark")#> Linear Regression Model Specification (regression) #> #> Main Arguments: #> penalty = 0.01 #> #> Computational engine: spark #> #> Model fit template: #> sparklyr::ml_linear_regression(x = missing_arg(), formula = missing_arg(), #> weight_col = missing_arg(), reg_param = 0.01)# with a placeholder for an unknown argument value: translate(linear_reg(mixture = varying()), engine = "glmnet")#> Linear Regression Model Specification (regression) #> #> Main Arguments: #> mixture = varying() #> #> Computational engine: glmnet #> #> Model fit template: #> glmnet::glmnet(x = missing_arg(), y = missing_arg(), weights = missing_arg(), #> alpha = varying(), family = "gaussian")