Learn R Programming

lolR (version 2.1)

Linear Optimal Low-Rank Projection

Description

Supervised learning techniques designed for the situation when the dimensionality exceeds the sample size have a tendency to overfit as the dimensionality of the data increases. To remedy this High dimensionality; low sample size (HDLSS) situation, we attempt to learn a lower-dimensional representation of the data before learning a classifier. That is, we project the data to a situation where the dimensionality is more manageable, and then are able to better apply standard classification or clustering techniques since we will have fewer dimensions to overfit. A number of previous works have focused on how to strategically reduce dimensionality in the unsupervised case, yet in the supervised HDLSS regime, few works have attempted to devise dimensionality reduction techniques that leverage the labels associated with the data. In this package and the associated manuscript Vogelstein et al. (2017) , we provide several methods for feature extraction, some utilizing labels and some not, along with easily extensible utilities to simplify cross-validative efforts to identify the best feature extraction method. Additionally, we include a series of adaptable benchmark simulations to serve as a standard for future investigative efforts into supervised HDLSS. Finally, we produce a comprehensive comparison of the included algorithms across a range of benchmark simulations and real data applications.

Copy Link

Version

Install

install.packages('lolR')

Monthly Downloads

193

Version

2.1

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Eric Bridgeford

Last Published

June 26th, 2020

Functions in lolR (2.1)

lol.classify.randomGuess

Randomly Guessing Classifier Training
lol.project.bayes_optimal

Bayes Optimal
lol.classify.nearestCentroid

Nearest Centroid Classifier Training
lol.project.lol

Linear Optimal Low-Rank Projection (LOL)
lol.project.dp

Data Piling
lol.classify.randomChance

Randomly Chance Classifier Training
lol.embed

Embedding
lol.classify.rand

Random Classifier Utility
lol.project.lrcca

Low-rank Canonical Correlation Analysis (LR-CCA)
lol.project.rp

Random Projections (RP)
lol.sims.cross

Cross
lol.sims.fat_tails

Fat Tails Simulation
lol.utils.decomp

A utility to use irlba when necessary
lol.sims.xor2

Xor Problem
lol.sims.mean_diff

Mean Difference Simulation
lol.sims.qdtoep

Quadratic Discriminant Toeplitz Simulation
lol.sims.random_rotate

Random Rotation
lol.utils.deltas

A function that performs a utility computation of information about the differences of the classes.
lol.utils.info

A function that performs basic utilities about the data.
lol.sims.rev_rtrunk

Reverse Random Trunk
lol.project.lrlda

Low-Rank Linear Discriminant Analysis (LRLDA)
lol.sims.rotation

Sample Random Rotation
lol.sims.cigar

Stacked Cigar
lol.project.pca

Principal Component Analysis (PCA)
lol.sims.rtrunk

Random Trunk
predict.nearestCentroid

Nearest Centroid Classifier Prediction
lol.utils.ohe

A function for one-hot encoding categorical respose vectors.
lol.xval.optimal_dimselect

Optimal Cross-Validated Number of Embedding Dimensions
lol.xval.split

Cross-Validation Data Splitter
lol.project.pls

Partial Least-Squares (PLS)
predict.randomChance

Randomly Chance Classifier Prediction
lol.sims.toep

Toeplitz Simulation
lol.sims.sim_gmm

GMM Simulate
lol.xval.eval

Embedding Cross Validation
predict.randomGuess

Randomly Guessing Classifier Prediction