DAP: Discriminant Analysis via Projections

The R package DAP provides tools for high-dimensional binary classification in the case of unequal covariance matrices. It implements methods from the following paper: * Sparse quadratic classification rules via linear dimension reduction by Gaynanova and Wang (2017).

Installation

To install the latest version from Github, use

devtools::install_github("irinagain/DAP")

Usage

library(DAP)
library(MASS)

# Example 

## Specify model parameters
p = 100
mu1 = rep(0, p)
mu2 = c(rep(3, 10), rep(0, p-10))
Sigma1 = diag(p)
Sigma2 = 0.5*diag(p)

## Build training data and test data
n_train = 50
n_test = 50
x1 = MASS::mvrnorm(n = n_train, mu = mu1, Sigma = Sigma1)
x2 = MASS::mvrnorm(n = n_train, mu = mu2, Sigma = Sigma2)
xtrain = rbind(x1, x2)
x1_test = MASS::mvrnorm(n = n_test, mu = mu1, Sigma = Sigma1)
x2_test = MASS::mvrnorm(n = n_test, mu = mu2, Sigma = Sigma2)
xtest = rbind(x1_test, x2_test)
ytrain = c(rep(1, n_train), rep(2, n_train))
ytest = c(rep(1, n_test), rep(2, n_test))

## Apply DAP
# Given ytest, the function returns the miclassification error rate.
ClassificationError = apply_DAP(xtrain, ytrain, xtest, ytest)

# Without ytest, the function returns predicted labels.
Ypredict = apply_DAP(xtrain, ytrain, xtest)

License

This package is free and open source software, licensed under GPL (>=2).