bagFDA
Bagged FDA
A bagging wrapper for flexible discriminant analysis (FDA) using multivariate adaptive regression splines (MARS) basis functions
- Keywords
- regression
Usage
bagFDA(x, ...)# S3 method for default
bagFDA(x, y, weights = NULL, B = 50, keepX = TRUE, ...)
# S3 method for formula
bagFDA(
formula,
data = NULL,
B = 50,
keepX = TRUE,
...,
subset,
weights = NULL,
na.action = na.omit
)
# S3 method for 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
a list of B
FDA fits
the number of bootstrap samples
the function call
either NULL
or the value of x
, depending on the
value of keepX
a matrix of performance estimates for each bootstrap sample
References
J. Friedman, ``Multivariate Adaptive Regression Splines'' (with discussion) (1991). Annals of Statistics, 19/1, 1-141.
See Also
Examples
# NOT RUN {
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])
# }