# Flexible discriminant analysis via earth

Source:`R/discrim_flexible_earth.R`

`details_discrim_flexible_earth.Rd`

`mda::fda()`

(in conjunction with `earth::earth()`

can fit a nonlinear
discriminant analysis model that uses nonlinear features created using
multivariate adaptive regression splines (MARS). This function can fit
classification models.

## Details

For this engine, there is a single mode: classification

### Tuning Parameters

This model has 3 tuning parameter:

`num_terms`

: # Model Terms (type: integer, default: (see below))`prod_degree`

: Degree of Interaction (type: integer, default: 1L)`prune_method`

: Pruning Method (type: character, default: ‘backward’)

The default value of `num_terms`

depends on the number of columns (`p`

):
`min(200, max(20, 2 * p)) + 1`

. Note that `num_terms = 1`

is an
intercept-only model.

### Translation from parsnip to the original package

The **discrim** extension package is required to fit this model.

```
library(discrim)
discrim_flexible(
num_terms = integer(0),
prod_degree = integer(0),
prune_method = character(0)
) %>%
translate()
```

```
## Flexible Discriminant Model Specification (classification)
##
## Main Arguments:
## num_terms = integer(0)
## prod_degree = integer(0)
## prune_method = character(0)
##
## Computational engine: earth
##
## Model fit template:
## mda::fda(formula = missing_arg(), data = missing_arg(), weights = missing_arg(),
## nprune = integer(0), degree = integer(0), pmethod = character(0),
## method = earth::earth)
```

### 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()`

, parsnip will
convert factor columns to indicators.

### Case weights

This model can utilize case weights during model fitting. To use them,
see the documentation in case_weights and the examples
on `tidymodels.org`

.

The `fit()`

and `fit_xy()`

arguments have arguments called
`case_weights`

that expect vectors of case weights.