Skip to main content

Regularized kernel canonical correlation analysis in Python.

Project description

pyrcca

Regularized kernel canonical correlation analysis in Python.

Install

You can install the latest release of pyrcca from PyPI, with:

pip install pyrcca

You can install the development version of pyrcca from GitHub, with:

pip install git+git://github.com/gallantlab/pyrcca.git

Usage

A static Jupyter notebook with the analysis of the example below can be found here.

A static Jupyter notebook with Pyrcca analysis of fMRI data can be found here.

Both notebooks can be explored interactively by cloning this repository.

Reference

For more information, consult the following e-print publication: Bilenko, N.Y. and Gallant, J.L. (2015). Pyrcca: regularized kernel canonical correlation analysis in Python and its applications to neuroimaging. Frontiers in Neuroinformatics doi: 10.3389/fninf.2016.00049

Example

In this startup example, two artificially constructed datasets are created. The datasets depend on two latent variables. Pyrcca is used to find linear relationships between the datasets.

# Imports
import numpy as np
import rcca

# Initialize number of samples
nSamples = 1000

# Define two latent variables (number of samples x 1)
latvar1 = np.random.randn(nSamples,)
latvar2 = np.random.randn(nSamples,)

# Define independent components for each dataset (number of observations x dataset dimensions)
indep1 = np.random.randn(nSamples, 4)
indep2 = np.random.randn(nSamples, 5)

# Create two datasets, with each dimension composed as a sum of 75% one of the latent variables and 25% independent component
data1 = 0.25*indep1 + 0.75*np.vstack((latvar1, latvar2, latvar1, latvar2)).T
data2 = 0.25*indep2 + 0.75*np.vstack((latvar1, latvar2, latvar1, latvar2, latvar1)).T

# Split each dataset into two halves: training set and test set
train1 = data1[:nSamples/2]
train2 = data2[:nSamples/2]
test1 = data1[nSamples/2:]
test2 = data2[nSamples/2:]

# Create a cca object as an instantiation of the CCA object class. 
cca = rcca.CCA(kernelcca = False, reg = 0., numCC = 2)

# Use the train() method to find a CCA mapping between the two training sets.
cca.train([train1, train2])

# Use the validate() method to test how well the CCA mapping generalizes to the test data.
# For each dimension in the test data, correlations between predicted and actual data are computed.
testcorrs = cca.validate([test1, test2])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pyrcca-0.1-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file pyrcca-0.1-py3-none-any.whl.

File metadata

  • Download URL: pyrcca-0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1

File hashes

Hashes for pyrcca-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8cb99eca422a4e97099ccaa2b654852f19d2fc97cc4dad1de9bec2e9d586dca
MD5 3acd021eb377f9396a0b93fdf1aff30f
BLAKE2b-256 52530e8872f9fcdf934c739f499cb198c1b4f491e90ace918970b0731479f61c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page