Git Product home page Git Product logo

jameschapman19 / cca_zoo Goto Github PK

View Code? Open in Web Editor NEW
182.0 3.0 38.0 7.93 MB

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

Home Page: https://cca-zoo.readthedocs.io/en/latest/

License: MIT License

Python 99.70% Shell 0.30%
dcca deep cca canonical-correlation-analysis kernel multiview pytorch cca-zoo multiset-cca tensor-cca

cca_zoo's Introduction

drawing

CCA-Zoo

Unlock the hidden relationships in multiview data.

DOI codecov Build Status Documentation Status version downloads DOI

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.

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:

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.