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.
</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
.
🏎️ 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.
📚 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:
- Star our GitHub repository.
- 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:
- Regularised CCA/PLS: MATLAB
- Sparse PLS: MATLAB SPLS
- DCCA/DCCAE: Keras DCCA, Torch DCCA