supervised-random-projections
supervised-random-projections copied to clipboard
Python implementation of supervised PCA, supervised random projections, and their kernel counterparts.
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.pycontains the implementations of the algorithms;load_data.pycontains utilities to load the datasets used in the original paper (XOR, Spirals, Sonar and Ionosphere);sonar_viz.pyshows 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.