splsda {spls} | R Documentation |
Fit SPLSDA classification models
Description
Fit a SPLSDA classification model.
Usage
splsda( x, y, K, eta, kappa=0.5,
classifier=c('lda','logistic'), scale.x=TRUE, ... )
Arguments
x |
Matrix of predictors. |
y |
Vector of class indices. |
K |
Number of hidden components. |
eta |
Thresholding parameter. |
kappa |
Parameter to control the effect of
the concavity of the objective function
and the closeness of original and surrogate direction vectors.
|
classifier |
Classifier used in the second step of SPLSDA.
Alternatives are |
scale.x |
Scale predictors by dividing each predictor variable by its sample standard deviation? |
... |
Other parameters to be passed through to |
Details
The SPLSDA method is described in detail in Chung and Keles (2010).
SPLSDA provides a two-stage approach for PLS-based classification with variable selection,
by directly imposing sparsity on the dimension reduction step of PLS
using sparse partial least squares (SPLS) proposed in Chun and Keles (2010).
y
is assumed to have numerical values, 0, 1, ..., G,
where G is the number of classes subtracted by one.
The option classifier
refers to the classifier used in the second step of SPLSDA
and splsda
utilizes algorithms offered by MASS and nnet packages
for this purpose.
If classifier="logistic"
, then either logistic regression or multinomial regression is used.
Linear discriminant analysis (LDA) is used if classifier="lda"
.
splsda
also utilizes algorithms offered by the pls package for fitting spls
.
The user should install pls, MASS and nnet packages before using splsda
functions.
Value
A splsda
object is returned.
print, predict, coef methods use this object.
Author(s)
Dongjun Chung and Sunduz Keles.
References
Chung D and Keles S (2010), "Sparse partial least squares classification for high dimensional data", Statistical Applications in Genetics and Molecular Biology, Vol. 9, Article 17.
Chun H and Keles S (2010), "Sparse partial least squares for simultaneous dimension reduction and variable selection", Journal of the Royal Statistical Society - Series B, Vol. 72, pp. 3–25.
See Also
print.splsda
, predict.splsda
, and coef.splsda
.
Examples
data(prostate)
# SPLSDA with eta=0.8 & 3 hidden components
f <- splsda( prostate$x, prostate$y, K=3, eta=0.8, scale.x=FALSE )
print(f)
# Print out coefficients
coef.f <- coef(f)
coef.f[ coef.f!=0, ]