Home

Awesome

<div align="center"> <img src="docs/logos/cca-zoo-logo.svg" alt="drawing" width="200"/>

CCA-Zoo

Unlock the hidden relationships in multiview data.

DOI codecov Build Status Documentation Status version downloads DOI

</div>

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:

pip install cca-zoo
# For additional features
pip install cca-zoo[probabilistic, visualisation, deep]

For Poetry users:

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.

<img src="docs/_static/CCA_Zoo_map.svg" alt="drawing" width="1000"/>

🏎️ 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:

@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: