Learn R Programming

caret (version 4.42)

bagFDA: 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)
## S3 method for class 'default':
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. (N
B
the numebr of bootstrap samples
keepX
a logical: should the original training data be kept?
...
arguments passed to the mars function

Value

  • A list with elements
  • fita list of B FDA fits
  • Bthe number of bootstrap samples
  • callthe function call
  • xeither NULL or the value of x, depending on the value of keepX
  • ooba matrix of performance estimates for each bootstrap sample

Details

The function computes a FDA model for each bootstap sample.

References

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

See Also

fda, predict.bagFDA

Examples

Run this code
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)
baggedMat <- table(
                   predict(baggedFit, testData[, -10]),
                   testData[, 10])
   
print(baggedMat)

classAgreement(baggedMat)

Run the code above in your browser using DataLab