As the population ages, the number of people with Alzheimer's disease is increasing dramatically. However, the use of functional Magnetic Resonance Imaging (fMRI) as a method for Alzheimer's diagnosis has several challenges. Its high cost can limit accessibility, the process is time-consuming, and physical discomfort experienced during the procedure often leads to reluctance among potential patients. Hence, recent studies have shifted towards more cost-effective, time-efficient, portable, and motion-insensitive tools such as Electroencephalography (EEG) and functional Near-Infrared Spectroscopy (fNIRS) for diagnosing Alzheimer's disease. The aim of this study is to use both EEG and fNIRS signal data collected through four simple tasks (resting state, oddball task, 1-back task, verbal fluency task) for Alzheimer classification, and to present an event-specific feature extraction method and feature selection method suitable for the data. EEG and fNIRS signals were collected from 144 subjects including 63 Healthy Controls (HC), 46 patients with Mild Cognitive Impairment (MCI), and 35 patients with Alzheimer's Disease (AD). Through our proposed event-specific feature extraction method, we extracted distinct features from each EEG and fNIRS signal, and the Recursive Feature Elimination with Cross-Validation (RFECV) algorithm was utilized to select hybrid EEG-fNIRS features useful for Alzheimer classification. The finally selected features achieved high performance across all three metrics - accuracy, F1 score, and AUC, with respective scores of 0.813, 0.821, and 0.915. These findings demonstrate that the proposed method can be used in real-world clinical settings to diagnose Alzheimer's stages, especially MCI.
TODO: Add requirements.txt
- spkit
pip install spkit
-
Clone the repo
git clone https://github.com/your_username_/Project-Name.git
-
Install prerequisites
pip install -r requirements.txt
-
Run
python main.py --data_root [Dataset Root (Root of 2nd+3rd+4th sorted data folders)] --gpu [GPU ID to use] --mode [segmentation | extraction | selection | classification(default)] --exp [1(default) - Tasks | 2 - Modals | 3 - Previous study] --task [R(Resting) | C(Oddball) | N(1-back) | V(Verbal fluency)] --seed [Random seed number] --cv_num [Number of cross-validation folds] --clf_type [Tree(default) | SVM | RF | MLP]
3-1. Segmentation Run Example
python main.py --mode segmentation
3-2. Extraction Run Example
python main.py --mode extraction
3-3. Selection Run Example
python main.py --mode selection --exp 1 --task R
3-4. Classification Run Example
python main.py --mode classification --exp 1 --task R
Experiment 1. Evaluating the Contribution of Each Task in Alzheimer’s Classification
Resting | 1-back | Oddball | Verbal | Accuracy | F1 score | AUC score | |
---|---|---|---|---|---|---|---|
Exp 1-A | O | O | O | O | 0.8126 | 0.8209 | 0.9149 |
Exp 1-B | X | O | O | O | 0.8047 | 0.8095 | 0.9151 |
Exp 1-C | O | X | O | O | 0.7845 | 0.7830 | 0.9030 |
Exp 1-D | O | O | X | O | 0.7362 | 0.7440 | 0.8741 |
Exp 1-E | O | O | O | X | 0.7357 | 0.7497 | 0.8798 |
Experiment 2. Evaluating the Contribution of Using Both EEG and fNIRS Signals in Alzheimer’s Classification
EEG | fNIRS | Accuracy | F1 score | AUC score | |
---|---|---|---|---|---|
Exp 2-A | O | O | 0.8126 | 0.8209 | 0.9149 |
Exp 2-B | O | X | 0.7079 | 0.7002 | 0.8847 |
Exp 2-C | X | O | 0.6345 | 0.6336 | 0.7349 |
Experiment 3. Comparative Analysis with Prior Research Method
Accuracy | F1 score | AUC score | |
---|---|---|---|
Exp 3-A | 0.8126 | 0.8209 | 0.9149 |
Exp 3-B | 0.6855 | 0.6924 | 0.8359 |
Exp 3-C | 0.6894 | 0.6753 | 0.8702 |
Exp 3-D | 0.6975 | 0.6675 | 0.8777 |
Exp 3-E | 0.5944 | 0.5944 | 0.6890 |
Sunghyeon Kim - hahala25@yonsei.ac.kr