Name: xbrain
Owner: Kimel Family Translational Imaging-Genetics Research Lab
Description: classify individuals into cognitive groups, or biotypes (brain/behaviour)
Forked from: josephdviviano/xbrain
Created: 2017-10-06 00:09:30.0
Updated: 2017-10-06 00:09:33.0
Pushed: 2017-06-30 02:18:53.0
Homepage:
Size: 13075
Language: Python
GitHub Committers
User | Most Recent Commit | # Commits |
Other Committers
User | Email | Most Recent Commit | # Commits |
README
xbrain: classify individuals into cognitive groups, or biotypes (brain/behaviour)
A platform for conducting classification experiments using functional neuroimaging data and out-of-scanner cognitive tests. Neuroimaging features can be a mix of within-brain connectivity, intra-subject correlations during task / natural viewing experiments, and other statistics derrived from external programs.
This is WIP, but the basic feature set is as follows:
- inter-subject correlation (xcorr) uses the method implemeted here.
- intra-subject correlation (connectivity) uses simple between-ROI connectivity.
- intra-subject dynamic connectivity state identification (dynamics) uses the method implemented here.
- brain/behaviour groups (biotyping) uses the method implemented here.
- performs n-fold cross validation (outer loop: test and train split).
- performs a gridsearch for hyperparameter cross validation (inner loop: train and validation split).
- if more than one cognitive predictor (y) is submitted, uses PCA to reduce this to a single aggregate cognitive score.
- y can be used to split subjects into a low and high-perorming group at the desired percentile.
- xcorr features are calculated using a template population drawn from the training set only so there is no information leakage between the training and test sets.
- if y is discrete (e.g., diagnosis), xcorr correlates all subject's data with the target group.
- biotyping is performed using regularized cannonical correlation analysis followed by hierarchical clustering. Details on the regularized CCA implementation here.
- cluster stability analysis is used to determine the most optimal number of cluster see this.