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, ...)

## Default S3 method:
bagFDA(x, y, weights = NULL, B = 50, keepX = TRUE, ...)

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

## S3 method for class 'bagFDA'
print(x, ...)

Arguments

x

matrix or data frame of 'x' values for examples.

...

arguments passed to the mars function

y

matrix or data frame of numeric values outcomes.

weights

(case) weights for each example - if missing defaults to 1.

B

the number of bootstrap samples

keepX

a logical: should the original training data be kept?

formula

A formula of the form y ~ x1 + x2 + ...

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.)

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, ]


set.seed(3577)
baggedFit <- bagFDA(Type ~ ., trainData)
confusionMatrix(data = predict(baggedFit, testData[, -10]),
                reference = testData[, 10])


[Package caret version 6.0-94 Index]