keras_mlp() fits a model that uses linear predictors to predict multiclass data using the multinomial distribution.


For this engine, there is a single mode: classification

Tuning Parameters

This model has one tuning parameter:

  • penalty: Amount of Regularization (type: double, default: 0.0)

For penalty, the amount of regularization is only L2 penalty (i.e., ridge or weight decay).

Translation from parsnip to the original package

multinom_reg(penalty = double(1)) %>% 
  set_engine("keras") %>% 

## Multinomial Regression Model Specification (classification)
## Main Arguments:
##   penalty = double(1)
## Computational engine: keras 
## Model fit template:
## parsnip::keras_mlp(x = missing_arg(), y = missing_arg(), penalty = double(1), 
##     hidden_units = 1, act = "linear")

keras_mlp() is a parsnip wrapper around keras code for neural networks. This model fits a linear regression as a network with a single hidden unit.

Preprocessing requirements

Factor/categorical predictors need to be converted to numeric values (e.g., dummy or indicator variables) for this engine. When using the formula method via fit.model_spec(), parsnip will convert factor columns to indicators.

Predictors should have the same scale. One way to achieve this is to center and scale each so that each predictor has mean zero and a variance of one.


The “Fitting and Predicting with parsnip” article contains examples for multinom_reg() with the "keras" engine.


  • Hoerl, A., & Kennard, R. (2000). Ridge Regression: Biased Estimation for Nonorthogonal Problems. Technometrics, 42(1), 80-86.