The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: A New Reduced-Rank Linear Discriminant Analysis Method
Version: 1.0
Date: 2015-11-04
Author: Yue S. Niu, Ning Hao, and Bin Dong
Maintainer: Ning Hao <nhao@math.arizona.edu>
Depends: R (≥ 3.1.1), MASS
Description: A new reduced-rank LDA method which works for high dimensional multi-class data.
License: GPL-2
NeedsCompilation: no
Packaged: 2015-11-07 04:11:08 UTC; nhao
Repository: CRAN
Date/Publication: 2015-11-07 07:24:10

SPCALDA: A New Reduced-Rank Linear Discriminant Analysis Method

Description

A new reduced-rank LDA method which works for high dimensional multi-class data.

Details

Package: SPCALDA
Type: Package
Version: 1.0
Date: 2015-11-04
License: GPL-2

Author(s)

Yue S. Niu, Ning Hao and Bin Dong.

Maintainer: Ning Hao <nhao@math.arizona.edu>


A New Reduced-Rank Linear Discriminant Analysis Method

Description

A new reduced-rank LDA method which works for high dimensional multi-class data.

Usage

SPCALDA(X,Y,rho=exp(c((-2):6)),K=min(20,min(dim(X))), folds = NULL)

Arguments

X

Input matrix, of dimension nobs x nvars; each row is an observation vector.

Y

Response variable for class label, of dimension nobs x 1.

rho

Tuning parameter.

K

The total number of principal components considered.

folds

Folds for cross-validation to select tuning parameter.

Value

ob

lda rule with top PCs

tuneRotation

Tuned rotaion matrix

minerror

Minimal training error

rho

tuned value of the parameter rho

K

tuned dimension, i.e., number of PCs

Author(s)

Yue S. Niu, Ning Hao and Bin Dong

Examples

set.seed(2015)
n = 200;p = 500

X = matrix(rnorm(n*p),n,p)
mu=matrix(0,4,p)
mu[1,1:125]=0.4;mu[2,126:250]=0.4;mu[3,251:375]=0.4;mu[4,376:500]=0.4
Y = rep(1:4,50)

for (g in 1:4) {
        index = which(Y == g)
        n_g = length(index)
        X[index,] = X[index,] + matrix(mu[g,],n_g,p,byrow=TRUE)
}

xtr = X[1:100,]; ytr=Y[1:100] #traning set
xte = X[101:200,]; yte =Y[101:200] # test set
folds = list(1:20,21:40,41:60,61:80,81:100)

spcaldaResult = SPCALDA(X=xtr,Y=ytr,rho=exp(c((-2):6)),K=20, folds = folds)
yhat = predict(spcaldaResult$ob,xte%*%spcaldaResult$tuneRotation)$class
error = sum(yhat != yte) 
 

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.