Learn R Programming

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:

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).

Copy Link

Version

Install

install.packages('DAP')

Monthly Downloads

27

Version

1.0

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

March 5th, 2018

Functions in DAP (1.0)

cv_DAP

Cross-validation for DAP
dap-package

Discriminant Analysis via Projections
apply_DAP

Apply DAP for binary classification
classify_DAP

Classification via DAP
solve_DAP_C

Solves DAP optimization problem for a given lambda value
solve_DAP_seq

Solves DAP optimization problem for a given sequence of lambda values
standardizeData

Divides the features matrix into two standardized submatrices