Skip to content

lightonai/supervised-random-projections

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

Supervised Random Projections with Light

Python implementation of supervised PCA, supervised random projections, and their kernel counterparts.

Supervised Random Pojections (SRP) is the work of Amir-Hossein Karimi, Alexander Wong, and Ali Ghodsi. It is a fast approximation of the Supervised PCA algortithm for dimensionality reduction. It also has a nonlinear version, Kernel SRP (KSRP).

This repository provides a unified implementation of SPCA, KSPCA, SRP and KSRP. They are implemented as scikit-learn transformers, and can therefore be used exactly like scikit-learn's PCA and KPCA. Moreover, SRP and KSRP can be performed using a LigthOn Optical Processing Unit (OPU).

  • dimreduc.py contains the implementations of the algorithms;
  • load_data.py contains utilities to load the datasets used in the original paper (XOR, Spirals, Sonar and Ionosphere);
  • sonar_viz.py shows how to use this code for visualizing the Sonar dataset.

The Ionosphere and Sonar dataset come from the UCI repository. They are tiny, so I included them in the data folder for convenience.

Access to Optical Processing Units

To request access to LightOn Cloud and try our photonic co-processor, please visit: https://cloud.lighton.ai/

For researchers, we also have a LightOn Cloud for Research program, please visit https://cloud.lighton.ai/lighton-research/ for more information.

About

Python implementation of supervised PCA, supervised random projections, and their kernel counterparts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages