`discrim_regularized()`

defines a model that estimates a multivariate
distribution for the predictors separately for the data in each class. The
structure of the model can be LDA, QDA, or some amalgam of the two. Bayes'
theorem is used to compute the probability of each class, given the
predictor values. This function can fit classification models.

There are different ways to fit this model, and the method of estimation is chosen by setting the model *engine*. The engine-specific pages for this model are listed below.

`klaR¹²`

More information on how parsnip is used for modeling is at https://www.tidymodels.org/.

## Usage

```
discrim_regularized(
mode = "classification",
frac_common_cov = NULL,
frac_identity = NULL,
engine = "klaR"
)
```

## Arguments

- mode
A single character string for the prediction outcome mode. Possible values for this model are "unknown", "regression", or "classification".

- frac_common_cov, frac_identity
Numeric values between zero and one.

- engine
A single character string specifying what computational engine to use for fitting.

## Details

There are many ways of regularizing models. For example, one form of regularization is to penalize model parameters. Similarly, the classic James–Stein regularization approach shrinks the model structure to a less complex form.

The model fits a very specific type of regularized model by Friedman (1989) that uses two types of regularization. One modulates how class-specific the covariance matrix should be. This allows the model to balance between LDA and QDA. The second regularization component shrinks the covariance matrix towards the identity matrix.

For the penalization approach, `discrim_linear()`

with a `mda`

engine can be
used. Other regularization methods can be used with `discrim_linear()`

and
`discrim_quad()`

can used via the `sparsediscrim`

engine for those functions.

This function only defines what *type* of model is being fit. Once an engine
is specified, the *method* to fit the model is also defined. See
`set_engine()`

for more on setting the engine, including how to set engine
arguments.

The model is not trained or fit until the `fit()`

function is used
with the data.

Each of the arguments in this function other than `mode`

and `engine`

are
captured as quosures. To pass values
programmatically, use the injection operator like so:

```
value <- 1
discrim_regularized(argument = !!value)
```

## References

https://www.tidymodels.org, *Tidy Modeling with R*, searchable table of parsnip models

Friedman, J (1989). Regularized Discriminant Analysis. *Journal of the
American Statistical Association*, 84, 165-175.