bagFDA {caret} | R Documentation

## Bagged FDA

### Description

A bagging wrapper for flexible discriminant analysis (FDA) using multivariate adaptive regression splines (MARS) basis functions

### Usage

    bagFDA(x, ...)
    ## S3 method for class 'formula'
    bagFDA(formula, data = NULL, B = 50, keepX = TRUE,
           ..., subset, weights, na.action = na.omit)
    ## Default S3 method:
    bagFDA(x, y, weights = NULL, B = 50, keepX = TRUE, ...)

### Arguments

`formula` | A formula of the form `y ~ x1 + x2 + ...`
`x` | matrix or data frame of 'x' values for examples.
`y` | matrix or data frame of numeric values outcomes.
`weights` | (case) weights for each example - if missing defaults to 1.
`data` | Data frame from which variables specified in 'formula' are preferentially to be taken.
`subset` | An index vector specifying the cases to be used in the training sample. (NOTE: If given, this argument must be named.)
`na.action` | A function to specify the action to be taken if 'NA's are found. The default action is for the procedure to fail. An alternative is na.omit, which leads to rejection of cases with missing values on any required variable. (NOTE: If given, this argument must be named.)
`B` | the number of bootstrap samples
`keepX` | a logical: should the original training data be kept?
`...` | arguments passed to the `mars` function

### Details

The function computes a FDA model for each bootstap sample.

### Value

A list with elements

`fit` | a list of `B` FDA fits
`B` | the number of bootstrap samples
`call` | the function call
`x` | either `NULL` or the value of `x`, depending on the value of `keepX`
`oob` | a matrix of performance estimates for each bootstrap sample

### Author(s)

Max Kuhn (`bagFDA.formula` is based on Ripley's `nnet.formula`)

### References

J. Friedman, “Multivariate Adaptive Regression Splines” (with discussion) (1991). Annals of Statistics, 19/1, 1-141.

### See Also

`fda`, `predict.bagFDA`

### Examples

    library(mlbench)
    library(earth)
    data(Glass)

    set.seed(36)
    inTrain <- sample(1:dim(Glass)[1], 150)

    trainData <- Glass[ inTrain, ]
    testData  <- Glass[-inTrain, ]

    baggedFit <- bagFDA(Type ~ ., trainData)
    confusionMatrix(predict(baggedFit, testData[, -10]),
                    testData[, 10])

[Package caret version 6.0-68 Index]