
X
,
Fisher's Linear Discriminant Analysis is equivalent to Discriminant Analysis
in the space of the fitted values from the linear regression of the
nlearn x K
indicator matrix of the class labels on X
.
This gives rise to 'nonlinear discrimant analysis' methods that expand
X
in a suitable, more flexible basis. In order to avoid overfitting,
penalization is used. In the implemented version, the linear model is replaced
by a generalized additive one, using the package mgcv
. For S4
method information, s. flexdaCMA-methods
.
flexdaCMA(X, y, f, learnind, comp = 1, plot = FALSE, models=FALSE, ...)
matrix
. Rows correspond to observations, columns to variables.
data.frame
, when f
is not missing (s. below).
ExpressionSet
.
numeric
vector.
factor
.
character
if X
is an ExpressionSet
that
specifies the phenotype variable.
missing
, if X
is a data.frame
and a
proper formula f
is provided.
WARNING: The class labels will be re-coded to
range from 0
to K-1
, where K
is the
total number of different classes in the learning set.
X
is a data.frame
. The
left part correspond to class labels, the right to variables.missing
;
in that case, the learning set consists of all
observations and predictions are made on the
learning set.K-1
, where
K
is the number of classes.FALSE
.gam
from
the package mgcv
.Pattern Recognition and Neural Networks.
Cambridge University Press
compBoostCMA
, dldaCMA
, ElasticNetCMA
,
fdaCMA
, gbmCMA
,
knnCMA
, ldaCMA
, LassoCMA
,
nnetCMA
, pknnCMA
, plrCMA
,
pls_ldaCMA
, pls_lrCMA
, pls_rfCMA
,
pnnCMA
, qdaCMA
, rfCMA
,
scdaCMA
, shrinkldaCMA
, svmCMA
### load Golub AML/ALL data
data(golub)
### extract class labels
golubY <- golub[,1]
### extract gene expression from first 5 genes
golubX <- as.matrix(golub[,2:6])
### select learningset
ratio <- 2/3
set.seed(111)
learnind <- sample(length(golubY), size=floor(ratio*length(golubY)))
### run flexible Discriminant Analysis
result <- flexdaCMA(X=golubX, y=golubY, learnind=learnind, comp = 1)
### show results
show(result)
ftable(result)
plot(result)
Run the code above in your browser using DataLab