Skip to main content

No project description provided

Project description

DOI codecov Build Status Documentation Status

Canonical Correlation Analysis Methods: cca-zoo

Linear CCA/PLS:

A variety of linear CCA and PLS methods implemented where possible as the solutions to generalized eigenvalue problems and otherwise using alternating minimization methods for non-convex optimisation based on least squares

CCA (Canonical Correlation Analysis)

Solutions based on either alternating least squares or as the solution to genrralized eigenvalue problem

GCCA (Generalized CCA)

MCCA (Multiset CCA)

SCCA (Sparse CCA) :

Mai's sparse CCA

SPLS (Sparse PLS/Penalized Matrix Decomposition) :

Witten's sparse CCA

PCCA (Penalized CCA - elastic net)

Waiijenborg's elastic penalized CCA

Deep CCA:

A variety of Deep CCA and related methods. All allow for user to pass their own model architectures. Recently added solutions to DCCA using nob-linear orthogonal iterations (or alternating least squares)

DCCA (Deep CCA) :

Using either Andrew's original Tracenorm Objective or Wang's alternating least squares solution

DGCCA (Deep Generalized CCA) :

An alternative objective based on the linear GCCA solution. Can be extended to more than 2 views

DMCCA (Deep Multiset CCA) :

An alternative objective based on the linear MCCA solution. Can be extended to more than 2 views

DCCAE (Deep Canonically Correlated Autoencoders)

DVCCA/DVCCA Private (Deep variational CCA):

Wang's DVCCA and DVCCA Private

Kernel CCA:

Linear Kernel

RBF Kernel

Polynomial Kernels

Documentation at https://cca-zoo.readthedocs.io/en/latest/

Can be installed using pip install cca-zoo

Recently added DCCA by non-linear orthogonal iterations (https://arxiv.org/pdf/1510.02054.pdf)

Credits:

If this repository was helpful please do give a star

In case this work is used as part of research I attach a bibtex entry:

@software{jameschapman19_2020_4382740,  
  author       = {jameschapman19},  
  title        = {jameschapman19/cca\_zoo: First pre-release},  
  month        = dec,  
  year         = 2020,  
  publisher    = {Zenodo},  
  version      = {v1.1.6},  
  doi          = {10.5281/zenodo.4382740},  
  url          = {https://doi.org/10.5281/zenodo.4382740}  
}

Issues/Feedback

I've translated my work building baselines for my own research into a pytohn package for the experience of doing so. With that in mind if you have either suggestions for improvements/additions do let me know using the issues tab. The intention is to give flexibility to build new algorithms and substitute model architectures but there is a tradeoff between robustness and flexibility.

Sources

I've added this section to give due credit to the repositories that helped me in addition to their copyright notices in the code where relevant.

Models can be tested on data from MNIST datasets provided by the torch package (https://pytorch.org/) and the UCI dataset provided by mvlearn package (https://mvlearn.github.io/)

Other Implementations of DCCA/DCCAE:

Keras implementation of DCCA from @VahidooX's github page(https://github.com/VahidooX) The following are the other implementations of DCCA in MATLAB and C++. These codes are written by the authors of the original paper:

Torch implementation of DCCA from @MichaelVll & @Arminarj: https://github.com/Michaelvll/DeepCCA

C++ implementation of DCCA from Galen Andrew's website (https://homes.cs.washington.edu/~galen/)

MATLAB implementation of DCCA/DCCAE from Weiran Wang's website (http://ttic.uchicago.edu/~wwang5/dccae.html)

Implementation of VAE:

Torch implementation of VAE (https://github.com/pytorch/examples/tree/master/vae)

Implementation of Sparse PLS:

MATLAB implementation of SPLS by @jmmonteiro (https://github.com/jmmonteiro/spls)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cca_zoo-1.1.8-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file cca_zoo-1.1.8-py3-none-any.whl.

File metadata

  • Download URL: cca_zoo-1.1.8-py3-none-any.whl
  • Upload date:
  • Size: 34.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6

File hashes

Hashes for cca_zoo-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4598d49bde7801425d5814340a076adb42a3929136fc7797499a658700f2e772
MD5 b2872e08d0fe9620bf4df6e25bcf0dd4
BLAKE2b-256 8831f40757bc5c68c68ba1b321d2a4f7b6c39f77890ae120aeb1b80773dbaeb4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page