HYDRA的快速python实现
pyHYDRA的Python项目详细描述
pyHYDRA
^{str1}$pyHYDRA是半监督聚类方法的快速python实现:HYDRA。此外,pyHYDRA还允许按照AD-ML中提出的良好实践来执行二进制分类任务。在
与HYDRA的matlab实现相比,pyHYDRA具有以下优点:
- 多线程实现,计算速度更快
- 更复杂的交叉验证(CV)策略,例如,重复100次保持CV
- {a3}后续二进制分类的额外功能。在
安装
Ananconda允许您安装、运行和更新python包及其依赖项。我们强烈建议用户在您的计算机上安装Anancond3。 在安装了Python3之后,有三种选择可以使用pyHYDRA。在
使用pyHYDRA作为python包
我们建议用户使用Conda虚拟环境:
1) conda create --name pyHYDRA python=3.6
激活虚拟环境:
^{pr2}$安装其他python包依赖项(转到pyHYDRA的根文件夹):
3) ./install_requirements.sh
最后,我们需要从PyPi安装pyHYDRA:
3) pip install pyhydra==1.0.5
从命令行使用pyHYDRA:
在^{str 1}中安装所有依赖项后$要求.txt文件,转到pyHYDRA的根文件夹,其中设置.py定位:
pip install -e .
使用pyHYDRA作为开发版本:
python -m pip install git+https://github.com/anbai106/pyHYDRA.git
输入结构
pyHYDRA需要一个受BIDS启发的特定输入结构。 组标签/诊断的一些约定:-1代表健康对照组(CN),1代表患者(PT);分类变量,如性别,应编码为数字:例如,女性代表0,男性代表1。在
tsv
对于具有ROI特征的聚类和分类(默认情况下,分类不以协变量tsv为输入),前3列是participant\uid,session\uid和diagnosis。在
对于体素图像的分类,featuretsv需要在diagnosis列之后为path添加一个列,而不需要其他列。在
特性tsv示例:
participant_id session_id diagnosis ROI1 ROI2 ...
sub-CLNC0001 ses-M00 -1 432.1 596.9
sub-CLNC0002 ses-M00 1 398.2 601.3
sub-CLNC0003 ses-M00 -1 412.0 567.3
sub-CLNC0004 ses-M00 -1 487.4 600.1
sub-CLNC0005 ses-M00 1 346.5 529.5
sub-CLNC0006 ses-M00 1 443.2 663.2
sub-CLNC0007 ses-M00 -1 450.2 599.3
sub-CLNC0008 ses-M00 1 443.2 509.4
协变量tsv示例:
participant_id session_id diagnosis age sex ...
sub-CLNC0001 ses-M00 -1 56.1 0
sub-CLNC0002 ses-M00 1 57.2 0
sub-CLNC0003 ses-M00 -1 43.0 1
sub-CLNC0004 ses-M00 -1 25.4 1
sub-CLNC0005 ses-M00 1 74.5 1
sub-CLNC0006 ses-M00 1 44.2 0
sub-CLNC0007 ses-M00 -1 40.2 0
sub-CLNC0008 ses-M00 1 43.2 1
体素分类的特征tsv示例:
participant_id session_id diagnosis path ...
sub-CLNC0001 ses-M00 -1 path1
sub-CLNC0002 ses-M00 1 path2
sub-CLNC0003 ses-M00 -1 path3
sub-CLNC0004 ses-M00 -1 path4
sub-CLNC0005 ses-M00 1 path5
sub-CLNC0006 ses-M00 1 path6
sub-CLNC0007 ses-M00 -1 path7
sub-CLNC0008 ses-M00 1 path8
示例
我们在pyHYDRA/data文件夹中提供了一个玩具数据集。在
正在运行pyHYDRA进行群集CN vs subtype 1 vs subset2 vs…:
from pyhydra.hydra_clustering import clustering
feature_tsv="pyHYDRA/data/test_feature.tsv"
output_dir = "PATH_OUTPUT_DIR"
k_min=2
k_max=8
cv_repetition=100
clustering(feature_tsv, output_dir, k_min, k_max, cv_repetition)
请注意,上述示例假设输入特征已被协变量效应校正,如年龄和性别,如果没有,可以运行:
from pyhydra.hydra_clustering import clustering
feature_tsv="pyHYDRA/data/test_feature.tsv"
output_dir = "PATH_OUTPUT_DIR"
k_min=2
k_max=8
cv_repetition=100
covariate_tsv="pyHYDRA/data/test_covariate.tsv"
clustering(feature_tsv, output_dir, k_min, k_max, cv_repetition, covariate_tsv=covariate_tsv)
运行pyHYDRA进行二进制分类CN vs PT:
from pyhydra.adml_classification import classification_roi
feature_tsv="pyHYDRA/data/test_feature.tsv"
output_dir = "PATH_OUTPUT_DIR"
cv_repetition=250
classification_roi(feature_tsv, output_dir, cv_repetition)
或者
from pyhydra.adml_classification import classification_voxel
feature_tsv="pyHYDRA/data/test_feature_voxel.tsv"
output_dir = "PATH_OUTPUT_DIR"
cv_repetition=250
classification_voxel(feature_tsv, output_dir, cv_repetition)
引用这部作品
如果您使用此软件进行群集:
Wen, J., Varol, E., Davatzikos, C., 2020. Multi-scale feature reduction and semi-supervised learning for parsing neuroanatomical heterogeneity. Organization for Human Brain Mapping. - Poster
Varol, E., Sotiras, A., Davatzikos, C., 2017. HYDRA: Revealing heterogeneity of imaging and genetic patterns through a multiple max-margin discriminative analysis framework. Neuroimage, 145, pp.346-364. doi:10.1016/j.neuroimage.2016.02.041 - Paper in PDF
如果您使用此软件进行分类:
Wen, J., Samper-González, J., Bottani, S., Routier, A., Burgos, N., Jacquemont, T., Fontanella, S., Durrleman, S., Epelbaum, S., Bertrand, A. and Colliot, O., 2020. Reproducible evaluation of diffusion MRI features for automatic classification of patients with Alzheimer’s disease. Neuroinformatics, pp.1-22. doi:10.1007/s12021-020-09469-5 - Paper in PDF
J. Samper-Gonzalez, N. Burgos, S. Bottani, S. Fontanella, P. Lu, A. Marcoux, A. Routier, J. Guillon, M. Bacci, J. Wen, A. Bertrand, H. Bertin, M.-O. Habert, S. Durrleman, T. Evgeniou and O. Colliot, Reproducible evaluation of classification methods in Alzheimer’s disease: Framework and application to MRI and PET data. NeuroImage, 183:504–521, 2018 doi:10.1016/j.neuroimage.2018.08.042 - Paper in PDF - Supplementary material
- 项目
标签: