# SDAAP: Sparse Discriminant Analysis solved via Accelerated Proximal... In accSDA: Accelerated Sparse Discriminant Analysis

 SDAAP R Documentation

## Sparse Discriminant Analysis solved via Accelerated Proximal Gradient

### Description

Applies accelerated proximal gradient algorithm to the optimal scoring formulation of sparse discriminant analysis proposed by Clemmensen et al. 2011.

### Usage

``````SDAAP(Xt, ...)

## Default S3 method:
SDAAP(
Xt,
Yt,
Om,
gam,
lam,
q,
PGsteps,
PGtol,
maxits,
tol,
selector = rep(1, dim(Xt)[2]),
initTheta,
bt = FALSE,
L,
eta,
rankRed = FALSE,
...
)
``````

### Arguments

 `Xt` n by p data matrix, (not a data frame, but a matrix) `Yt` n by K matrix of indicator variables (Yij = 1 if i in class j). This will later be changed to handle factor variables as well. Each observation belongs in a single class, so for a given row/observation, only one element is 1 and the rest is 0. `Om` p by p parameter matrix Omega in generalized elastic net penalty. `gam` Regularization parameter for elastic net penalty. `lam` Regularization parameter for l1 penalty, must be greater than zero. `q` Desired number of discriminant vectors. `PGsteps` Maximum number if inner proximal gradient algorithm for finding beta. `PGtol` Stopping tolerance for inner APG method. `maxits` Number of iterations to run `tol` Stopping tolerance for proximal gradient algorithm. `selector` Vector to choose which parameters in the discriminant vector will be used to calculate the regularization terms. The size of the vector must be *p* the number of predictors. The default value is a vector of all ones. This is currently only used for ordinal classification. `initTheta` Option to set the initial theta vector, by default it is a vector of all ones for the first theta. `bt` Boolean to indicate whether backtracking should be used, default false. `L` Initial estimate for Lipshitz constant used for backtracking. `eta` Scalar for Lipshitz constant. `rankRed` Boolean indicating whether Om is in factorized form, such that R^t*R = mO

### Value

`SDAAP` returns an object of `class` "`SDAAP`" including a list with the following named components:

`call`

The matched call.

`B`

p by q matrix of discriminant vectors.

`Q`

K by q matrix of scoring vectors.

`subits`

Total number of iterations in proximal gradient subroutine.

`totalits`

Number coordinate descent iterations for all discriminant vectors

`NULL`

`SDAAPcv`, `SDAP` and `SDAD`