cca-zoo


Namecca-zoo JSON
Version 2.6.0 PyPI version JSON
download
home_pagehttps://github.com/jameschapman19/cca_zoo
SummaryCanonical Correlation Analysis Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic methods in a scikit-learn style framework
upload_time2024-04-19 10:57:42
maintainerNone
docs_urlNone
authorjameschapman
requires_python<4.0.0,>=3.8
licenseMIT
keywords cca
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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](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)


</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](#-quick-start)
- [Performance Highlights](#-performance-highlights)
- [Detailed Documentation](#-detailed-documentation)
- [How to Cite](#-how-to-cite)
- [Contribute](#-contribute)
- [Acknowledgments](#-acknowledgments)

## 🚀 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](https://pytorch.org/get-started/locally/).

`probabilistic` requires `numpyro` which may be better installed separately following the [NumPyro installation guide](https://num.pyro.ai/en/stable/getting_started.html#installation).

`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](benchmark/cca_high_dimensions.py) and the graph below.

![Benchmark Plot CCA](benchmark/CCA_Speed_Benchmark.svg)
![Benchmark Plot PLS](benchmark/PLS_Speed_Benchmark.svg)

## 📚 Detailed Documentation

Embark on a journey through multiview correlations with our [comprehensive guide](https://cca-zoo.readthedocs.io/en/latest/).

## 🙏 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](https://doi.org/10.21105/joss.03823).

## 👩‍💻 Contribute

Every idea, every line of code adds value. Check out our [contribution guide](https://cca-zoo.readthedocs.io/en/latest/developer_info/contribute.html) 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](https://github.com/anaston/PLS_CCA_framework)
- Sparse PLS: [MATLAB SPLS](https://github.com/jmmonteiro/spls)
- DCCA/DCCAE: [Keras DCCA](https://github.com/VahidooX), [Torch DCCA](https://github.com/Michaelvll/DeepCCA)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jameschapman19/cca_zoo",
    "name": "cca-zoo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.8",
    "maintainer_email": null,
    "keywords": "cca",
    "author": "jameschapman",
    "author_email": "james.chapman.19@ucl.ac.uk",
    "download_url": "https://files.pythonhosted.org/packages/cc/b3/e27e174252960413d86a5c1bb586b96c25a06b60ebb4d24494910253fabe/cca_zoo-2.6.0.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n<img src=\"docs/logos/cca-zoo-logo.svg\" alt=\"drawing\" width=\"200\"/>\n\n# CCA-Zoo\n\n**Unlock the hidden relationships in multiview data.**\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5748062.svg)](https://doi.org/10.5281/zenodo.4382739)\n[![codecov](https://codecov.io/gh/jameschapman19/cca_zoo/branch/main/graph/badge.svg?token=JHG9VUB0L8)](https://codecov.io/gh/jameschapman19/cca_zoo)\n![Build Status](https://github.com/jameschapman19/cca_zoo/actions/workflows/changes.yml/badge.svg)\n[![Documentation Status](https://readthedocs.org/projects/cca-zoo/badge/?version=latest)](https://cca-zoo.readthedocs.io/en/latest/?badge=latest)\n[![version](https://img.shields.io/pypi/v/cca-zoo)](https://pypi.org/project/cca-zoo/)\n[![downloads](https://img.shields.io/pypi/dm/cca-zoo)](https://pypi.org/project/cca-zoo/)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.03823/status.svg)](https://doi.org/10.21105/joss.03823)\n\n\n</div>\n\n## Introduction\n\nIn 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.\n\nDesigned 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.\n\n## \ud83d\udcd6 Table of Contents\n\n- [Quick Start](#-quick-start)\n- [Performance Highlights](#-performance-highlights)\n- [Detailed Documentation](#-detailed-documentation)\n- [How to Cite](#-how-to-cite)\n- [Contribute](#-contribute)\n- [Acknowledgments](#-acknowledgments)\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\nWhether you're a `pip` enthusiast or a `poetry` aficionado, installing CCA-Zoo is a breeze:\n\n```bash\npip install cca-zoo\n# For additional features\npip install cca-zoo[probabilistic, visualisation, deep]\n```\n\nFor Poetry users:\n\n```bash\npoetry add cca-zoo\n# For extra features\npoetry add cca-zoo[probabilistic, visualisation, deep]\n```\n\nNote that `deep` requires `torch` and `lightning` which may be better installed separately following the [PyTorch installation guide](https://pytorch.org/get-started/locally/).\n\n`probabilistic` requires `numpyro` which may be better installed separately following the [NumPyro installation guide](https://num.pyro.ai/en/stable/getting_started.html#installation).\n\n`visualisation` requires `matplotlib` and `seaborn`\n\n## Plug into the Machine Learning Ecosystem\n\nCCA-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`.\n\n<img src=\"docs/_static/CCA_Zoo_map.svg\" alt=\"drawing\" width=\"1000\"/>\n\n## \ud83c\udfce\ufe0f Performance Highlights\nCCA-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](benchmark/cca_high_dimensions.py) and the graph below.\n\n![Benchmark Plot CCA](benchmark/CCA_Speed_Benchmark.svg)\n![Benchmark Plot PLS](benchmark/PLS_Speed_Benchmark.svg)\n\n## \ud83d\udcda Detailed Documentation\n\nEmbark on a journey through multiview correlations with our [comprehensive guide](https://cca-zoo.readthedocs.io/en/latest/).\n\n## \ud83d\ude4f How to Cite\n\nYour support means a lot to us! If CCA-Zoo has been beneficial for your research, there are two ways to show your appreciation:\n\n1. Star our GitHub repository.\n2. Cite our research paper in your publications.\n\nFor citing our work, please use the following BibTeX entry:\n\n```bibtex\n@software{Chapman_CCA-Zoo_2023,\nauthor = {Chapman, James and Wang, Hao-Ting and Wells, Lennie and Wiesner, Johannes},\ndoi = {10.5281/zenodo.4382739},\nmonth = aug,\ntitle = {{CCA-Zoo}},\nurl = {https://github.com/jameschapman19/cca_zoo},\nversion = {2.3.0},\nyear = {2023}\n}\n```\n\nOr check out our JOSS paper:\n\n\ud83d\udcdc 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](https://doi.org/10.21105/joss.03823).\n\n## \ud83d\udc69\u200d\ud83d\udcbb Contribute\n\nEvery idea, every line of code adds value. Check out our [contribution guide](https://cca-zoo.readthedocs.io/en/latest/developer_info/contribute.html) and help CCA-Zoo soar to new heights!\n\n## \ud83d\ude4c Acknowledgments\n\nSpecial thanks to the pioneers whose work has shaped this field. Explore their work:\n\n- Regularised CCA/PLS: [MATLAB](https://github.com/anaston/PLS_CCA_framework)\n- Sparse PLS: [MATLAB SPLS](https://github.com/jmmonteiro/spls)\n- DCCA/DCCAE: [Keras DCCA](https://github.com/VahidooX), [Torch DCCA](https://github.com/Michaelvll/DeepCCA)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Canonical Correlation Analysis Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic methods in a scikit-learn style framework",
    "version": "2.6.0",
    "project_urls": {
        "Homepage": "https://github.com/jameschapman19/cca_zoo"
    },
    "split_keywords": [
        "cca"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f597011d5be04b3fb7ca4fe4c7fd27409c39b33991811efbff8e9b3d266343b1",
                "md5": "8d7bca9dea2316805dc5d63cf7e628ac",
                "sha256": "57cadae468826831494807fbcba8868d7bc3870eecedb758dd17cd35a4eff850"
            },
            "downloads": -1,
            "filename": "cca_zoo-2.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8d7bca9dea2316805dc5d63cf7e628ac",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.8",
            "size": 115195,
            "upload_time": "2024-04-19T10:57:34",
            "upload_time_iso_8601": "2024-04-19T10:57:34.156979Z",
            "url": "https://files.pythonhosted.org/packages/f5/97/011d5be04b3fb7ca4fe4c7fd27409c39b33991811efbff8e9b3d266343b1/cca_zoo-2.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ccb3e27e174252960413d86a5c1bb586b96c25a06b60ebb4d24494910253fabe",
                "md5": "56259bb3ada10db4ea3ec58cc7c0dcf4",
                "sha256": "7b2a30009f9b826807f837689520f50f45ec5d31ff38da7a1ac6a04e72436006"
            },
            "downloads": -1,
            "filename": "cca_zoo-2.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "56259bb3ada10db4ea3ec58cc7c0dcf4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.8",
            "size": 75538,
            "upload_time": "2024-04-19T10:57:42",
            "upload_time_iso_8601": "2024-04-19T10:57:42.779722Z",
            "url": "https://files.pythonhosted.org/packages/cc/b3/e27e174252960413d86a5c1bb586b96c25a06b60ebb4d24494910253fabe/cca_zoo-2.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-19 10:57:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jameschapman19",
    "github_project": "cca_zoo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "cca-zoo"
}
        
Elapsed time: 0.22464s