CCA-Zoo

CCA-Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic CCA methods in a scikit-learn style framework - Published in JOSS (2021)

https://github.com/jameschapman19/cca_zoo

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

canonical-correlation-analysis cca cca-zoo dcca deep kernel multiset-cca multiview pls pytorch tensor-cca

Scientific Fields

Mathematics Computer Science - 84% confidence
Engineering Computer Science - 60% confidence
Last synced: 6 months ago · JSON representation ·

Repository

Canonical Correlation Analysis Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic methods in a scikit-learn style framework

Basic Info
Statistics
  • Stars: 211
  • Watchers: 2
  • Forks: 44
  • Open Issues: 32
  • Releases: 118
Topics
canonical-correlation-analysis cca cca-zoo dcca deep kernel multiset-cca multiview pls pytorch tensor-cca
Created over 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

drawing # CCA-Zoo **Unlock the hidden relationships in multiview data.** [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5748062.svg)](https://doi.org/10.5281/zenodo.4382739) [![codecov](https://codecov.io/gh/jameschapman19/cca_zoo/branch/main/graph/badge.svg?token=JHG9VUB0L8)](https://codecov.io/gh/jameschapman19/cca_zoo) ![Build Status](https://github.com/jameschapman19/cca_zoo/actions/workflows/changes.yml/badge.svg) [![Documentation Status](https://readthedocs.org/projects/cca-zoo/badge/?version=latest)](https://cca-zoo.readthedocs.io/en/latest/?badge=latest) [![version](https://img.shields.io/pypi/v/cca-zoo)](https://pypi.org/project/cca-zoo/) [![downloads](https://img.shields.io/pypi/dm/cca-zoo)](https://pypi.org/project/cca-zoo/) [![DOI](https://joss.theoj.org/papers/10.21105/joss.03823/status.svg)](https://doi.org/10.21105/joss.03823)

Introduction

In today's data-driven world, revealing hidden relationships across multiview datasets is critical. CCA-Zoo is your go-to library, featuring a robust selection of linear, kernel, and deep canonical correlation analysis methods.

Designed to be user-friendly, CCA-Zoo is inspired by the ease of use in scikit-learn and mvlearn. It provides a seamless programming experience with familiar fit, transform, and fit_transform methods.

📖 Table of Contents

🚀 Quick Start

Installation

Whether you're a pip enthusiast or a poetry aficionado, installing CCA-Zoo is a breeze:

```bash pip install cca-zoo

For additional features

pip install cca-zoo[probabilistic, visualisation, deep] ```

For Poetry users:

```bash poetry add cca-zoo

For extra features

poetry add cca-zoo[probabilistic, visualisation, deep] ```

Note that deep requires torch and lightning which may be better installed separately following the PyTorch installation guide.

probabilistic requires numpyro which may be better installed separately following the NumPyro installation guide.

visualisation requires matplotlib and seaborn

Plug into the Machine Learning Ecosystem

CCA-Zoo is designed to be compatible with the machine learning ecosystem. It is built on top of scikit-learn, tensorly, torch, pytorch-lightning, and numpyro.

drawing

🏎️ Performance Highlights

CCA-Zoo shines when it comes to high-dimensional data analysis. It significantly outperforms scikit-learn, particularly as dimensionality increases. For comprehensive benchmarks, see our script and the graph below.

Benchmark Plot CCA Benchmark Plot PLS

📚 Detailed Documentation

Embark on a journey through multiview correlations with our comprehensive guide.

🙏 How to Cite

Your support means a lot to us! If CCA-Zoo has been beneficial for your research, there are two ways to show your appreciation:

  1. Star our GitHub repository.
  2. Cite our research paper in your publications.

For citing our work, please use the following BibTeX entry:

bibtex @software{Chapman_CCA-Zoo_2023, author = {Chapman, James and Wang, Hao-Ting and Wells, Lennie and Wiesner, Johannes}, doi = {10.5281/zenodo.4382739}, month = aug, title = {{CCA-Zoo}}, url = {https://github.com/jameschapman19/cca_zoo}, version = {2.3.0}, year = {2023} }

Or check out our JOSS paper:

📜 Chapman et al., (2021). CCA-Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic CCA methods in a scikit-learn style framework. Journal of Open Source Software, 6(68), 3823, Link.

👩‍💻 Contribute

Every idea, every line of code adds value. Check out our contribution guide and help CCA-Zoo soar to new heights!

🙌 Acknowledgments

Special thanks to the pioneers whose work has shaped this field. Explore their work:

Owner

  • Name: James Chapman
  • Login: jameschapman19
  • Kind: user
  • Location: London
  • Company: UCL

Studying for a PhD in Machine Learning and Neuroimaging at University College London (UCL)

JOSS Publication

CCA-Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic CCA methods in a scikit-learn style framework
Published
December 18, 2021
Volume 6, Issue 68, Page 3823
Authors
James Chapman ORCID
Centre for Medical Image Computing, University College London, London, UK
Hao-Ting Wang ORCID
Centre de Recherche de l'Institut Universitaire de Gériatrie de Montréal, Université de Montréal, Montréal, QC, Canada, Centre de Recherche de l'Hôpital du Sacré Coeur de Montréal, Université de Montréal, Montréal, QC, Canada
Editor
Elizabeth DuPre ORCID
Tags
Multiview Machine Learning

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Chapman"
  given-names: "James"
  orcid: "https://orcid.org/0000-0002-9364-8118"
- family-names: "Wang"
  given-names: "Hao-Ting"
  orcid: "https://orcid.org/0000-0003-4078-2038"
- family-names: "Wells"
  given-names: "Lennie"
- family-names: "Wiesner"
  given-names: "Johannes"

title: "CCA-Zoo"
version: 2.3.0
doi: 10.5281/zenodo.4382739
date-released: 2023-08-22
url: "https://github.com/jameschapman19/cca_zoo"

GitHub Events

Total
  • Issues event: 6
  • Watch event: 17
  • Issue comment event: 7
  • Fork event: 4
Last Year
  • Issues event: 6
  • Watch event: 17
  • Issue comment event: 7
  • Fork event: 4

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1,779
  • Total Committers: 4
  • Avg Commits per committer: 444.75
  • Development Distribution Score (DDS): 0.007
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
James Chapman j****9@u****k 1,766
Hao-Ting Wang h****w@g****m 7
JohannesWiesner j****r@g****m 3
Lennie 5****W 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 78
  • Total pull requests: 54
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 3 hours
  • Total issue authors: 28
  • Total pull request authors: 5
  • Average comments per issue: 4.79
  • Average comments per pull request: 0.46
  • Merged pull requests: 50
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 0
  • Average time to close issues: about 7 hours
  • Average time to close pull requests: N/A
  • Issue authors: 5
  • Pull request authors: 0
  • Average comments per issue: 0.13
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JohannesWiesner (20)
  • jameschapman19 (10)
  • Umaruchain (6)
  • BogyeomKim (5)
  • LegrandNico (3)
  • vignesh294 (3)
  • Neel-132 (3)
  • nienkevanunen (2)
  • teakfi (2)
  • AdirRahamim (2)
  • baili119 (2)
  • WantongLi123 (2)
  • psycholinguistics2125 (1)
  • amogh3892 (1)
  • Wolongchicken (1)
Pull Request Authors
  • jameschapman19 (45)
  • W-L-W (4)
  • JohannesWiesner (3)
  • htwangtw (1)
  • LegrandNico (1)
Top Labels
Issue Labels
enhancement (7) help wanted (6) good first issue (6)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,030 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 3
  • Total versions: 177
  • Total maintainers: 1
pypi.org: cca-zoo

Canonical Correlation Analysis Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic methods in a scikit-learn style framework

  • Versions: 177
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 1,030 Last month
Rankings
Stargazers count: 5.9%
Forks count: 6.6%
Average: 8.6%
Dependent repos count: 9.0%
Dependent packages count: 10.1%
Downloads: 11.5%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/changes.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v3 composite
  • stefanzweifel/git-auto-commit-action v4 composite
.github/workflows/publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pull_request.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v3 composite
docs/source/requirements.txt pypi
  • Pillow *
  • arviz *
  • colorcet *
  • jax *
  • jaxlib *
  • joblib *
  • matplotlib ==3.8.0
  • matplotlib *
  • multiviewdata *
  • mvlearn *
  • numpy *
  • numpyro *
  • openTSNE *
  • pandas *
  • pandas ==2.1.0
  • protobuf ==3.20.1
  • pytorch-lightning *
  • scikit-learn *
  • scikit-prox *
  • scipy *
  • seaborn *
  • seaborn ==0.12.2
  • sphinx *
  • sphinx-autodoc-typehints *
  • sphinx-gallery *
  • sphinx_rtd_theme ==1.2.0
  • tensorly *
  • torch *
  • torchvision *
  • umap-learn *
pyproject.toml pypi
  • black * develop
  • codecov * develop
  • flake8 * develop
  • opentsne * develop
  • pytest-cov * develop
  • seaborn * develop
  • umap-learn * develop
  • joblib *
  • lightning *
  • mvlearn *
  • numpy *
  • pandas *
  • python >=3.8,<4.0.0
  • scikit-learn ^1.2.2
  • scipy *
  • tensorly *
  • torch --- - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^2.0.1" platform: darwin - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^2.0.1" platform: linux source: torch - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^2.0.1" platform: win32 source: torch
  • tqdm *