All Projects → machenslab → Dpca

machenslab / Dpca

Licence: mit
An implementation of demixed Principal Component Analysis (a supervised linear dimensionality reduction technique)

Programming Languages

python
139335 projects - #7 most used programming language
matlab
3953 projects

Projects that are alternatives of or similar to Dpca

Deep Deep
Adaptive crawler which uses Reinforcement Learning methods
Stars: ✭ 145 (-0.68%)
Mutual labels:  jupyter-notebook
Ds production
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Fantasy Basketball
Scraping statistics, predicting NBA player performance with neural networks and boosting algorithms, and optimising lineups for Draft Kings with genetic algorithm. Capstone Project for Machine Learning Engineer Nanodegree by Udacity.
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Essentia
C++ library for audio and music analysis, description and synthesis, including Python bindings
Stars: ✭ 1,985 (+1259.59%)
Mutual labels:  jupyter-notebook
Numbapro Examples
Examples of NumbaPro in use.
Stars: ✭ 145 (-0.68%)
Mutual labels:  jupyter-notebook
Chinesetextclassifier
中文商品评论短文本分类器,可用于情感分析
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Hypertools Paper Notebooks
Supporting notebooks and data from hypertools paper
Stars: ✭ 145 (-0.68%)
Mutual labels:  jupyter-notebook
Segaware
Segmentation-Aware Convolutional Networks Using Local Attention Masks
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
100daysofmlcode
My journey to learn and grow in the domain of Machine Learning and Artificial Intelligence by performing the #100DaysofMLCode Challenge.
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Siamese Networks
Few Shot Learning by Siamese Networks, using Keras.
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Digital video introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Stars: ✭ 12,184 (+8245.21%)
Mutual labels:  jupyter-notebook
Deep Learning With Tensorflow Book
深度学习入门开源书,基于TensorFlow 2.0案例实战。Open source Deep Learning book, based on TensorFlow 2.0 framework.
Stars: ✭ 12,105 (+8191.1%)
Mutual labels:  jupyter-notebook
Formation Deep Learning
Supports de formation Deep Learning (diapos et exercices pratiques)
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Alta
The Art of Literary Text Analysis
Stars: ✭ 145 (-0.68%)
Mutual labels:  jupyter-notebook
Applied Dl 2018
Tel-Aviv Deep Learning Boot-camp: 12 Applied Deep Learning Labs
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Sqlcell
SQLCell is a magic function for the Jupyter Notebook that executes raw, parallel, parameterized SQL queries with the ability to accept Python values as parameters and assign output data to Python variables while concurrently running Python code. And *much* more.
Stars: ✭ 145 (-0.68%)
Mutual labels:  jupyter-notebook
Bertem
论文实现(ACL2019):《Matching the Blanks: Distributional Similarity for Relation Learning》
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Optical Flow Filter
A real time optical flow algorithm implemented on GPU
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Deeplearningbookcode Volume1
Python/Jupyter notebooks for Volume 1 of "Deep Learning - From Basics to Practice" by Andrew Glassner
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook
Face generator
DCGAN face generator 🧑.
Stars: ✭ 146 (+0%)
Mutual labels:  jupyter-notebook

demixed Principal Component Analysis (dPCA)

dPCA is a linear dimensionality reduction technique that automatically discovers and highlights the essential features of complex population activities. The population activity is decomposed into a few demixed components that capture most of the variance in the data and that highlight the dynamic tuning of the population to various task parameters, such as stimuli, decisions, rewards, etc.

D Kobak+, W Brendel+, C Constantinidis, CE Feierstein, A Kepecs, ZF Mainen, X-L Qi, R Romo, N Uchida, CK Machens
Demixed principal component analysis of neural population data
eLife 2016, https://elifesciences.org/content/5/e10989
(arXiv link: http://arxiv.org/abs/1410.6031)

This repository provides easy to use Python and MATLAB implementations of dPCA as well as example code.

Use dPCA

Simple example code for surrogate data can be found in dpca_demo.ipynb and dpca_demo.m.

Python package

The Python package is tested against Python 2.7 and Python 3.4. To install, first make sure that numpy, cython, scipy, sklearn, itertools and numexpr are avaible. Then copy the files from the Python subfolder to a location in the Python search path.

Alternatively, from the terminal you can install the package by running:

$  cd /path/to/dPCA/python
$  python setup.py install

API of dPCA is similar to sklearn. To use dPCA, you should first import dPCA,
from dpca import dPCA
then initialize it,
dpca = dPCA(labels, n_components, regularizer)
then call the fitting function on your data to get the latent components Z,
Z = dpca.fit_transform(X).

The required initialization parameters are:

  • X - A multidimensional array containing the trial-averaged data. E.g. X[n,t,s,d] could correspond to the mean response of the n-th neuron at time t in trials with stimulus s and decision d. The observable (e.g. neuron index) needs to come first.
  • labels - Optional; list of characters with which to describe the parameter axes, e.g. 'tsd' to denote time, stimulus and decision axis. All marginalizations (e.g. time-stimulus) are refered to by subsets of those characters (e.g. 'ts').
  • n_components - Dictionary or integer; if integer use the same number of components in each marginalization, otherwise every (key,value) pair refers to the number of components (value) in a marginalization (key).

More detailed documentation, and additional options, can be found in dpca.py.

MATLAB package

Add the Matlab subfolder to the Matlab search path.

Example code in dpca_demo.m generates surrogate data and provides a walkthrough for running PCA and dPCA analysis and plotting the results.

Support

Email [email protected] (Python) or [email protected] (Matlab) with any questions.

Contributors

A big thanks for 3rd party contributions goes to cboulay.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].