Skip to content

This repository contains the code I wrote for my B.Sc. final project.

License

Notifications You must be signed in to change notification settings

Pmoonesi/alzheimers-disease-detection-with-ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alzheimer’s disease detection using machine learning

Abstract

Alzheimer’s disease is one of the most important and complex neurodegenerative diseases, and early and accurate diagnosis can prevent its rapid progression. The aim of this research is to propose and evaluate various machine learning and deep learning models for Alzheimer’s disease detection using MRI images. In this study, three different approaches were employed for MRI image classification. In the first method, classical machine learning algorithms including Support Vector Machine (SVM), Random Forest (RF), and Multilayer Perceptron (MLP) were used. The second method utilized three-dimensional Convolutional Neural Networks (CNNs) to extract spatial features from images, while the third method combined three-dimensional CNNs with Recurrent Neural Networks (RNNs) to extract both spatial and temporal features. Evaluation results indicate that using recurrent networks along with convolutional networks outperforms three-dimensional CNNs and classical methods. Additionally, significant improvement in model accuracy was achieved by employing data augmentation techniques. However, dropout and transfer learning methods negatively affected the models’ performance. In conclusion, this research demonstrates that advanced deep learning methods can enhance the accuracy of Alzheimer’s disease detection and suggests further investigation is needed to develop effective strategies against overfitting. The findings of this study could contribute to the development of more precise tools for early diagnosis of Alzheimer’s disease and improving patients’ quality of life.

Table of Contents

Installation

You can follow the below instructions to be able to use each section's scripts and notebooks:

Data Acquisition Requirements

We need to install selenium package:

pip install selenium

In cases where we are running our acquisition script on colab sessions, we need some extra actions to configure chrome drivers, we can use the following script in those situations instead:

bash "notebooks/1 - data-acquisition/setup.sh"

Preprocess Requirements

Preprocessing depends on three dependent frameworks so we need to install each according to their instructions:

Training Requirements

In all of the training sections, we need numpy, pandas and scikit-learn libraries. We can install them using the following command:

pip install numpy pandas scikit-learn

We also need to make sure we have cuda enabled pytorch installed on our devices. To do that, you can visit here.

Project Structure

root/
│
├── data/ # guide to request for access to the datasets
│ ├── adni.md/
│ ├── oasis.md/
│ └── ppmi.md/ 
│
├── notebooks/ # notebooks used to prepare and execute mentioned algorithms
│ ├── 1 - data-acquisition/ 
│ ├── 2 - preprocess/ 
│ ├── 3 - classic-methods/ 
│ ├── 4 - convolutional-neural-networks/ 
│ └── 5 - recurrent-neural-networks/
│
├── splits/ # CSVs containing tune and test splits
│ ├── ADNI1/ 
│ └── ADNI3/ 
│
├── results/ # Results and outputs
│ ├── 3 - classic-methods/
│ ├── 4 - convolutional-neural-networks/
│ ├── 5 - recurrent-neural-networks/
│ └── results.md
│
├── util/ # utility scripts and extra
│
└── README.md

Results

For detailed results and analysis, please refer to the results.

About

This repository contains the code I wrote for my B.Sc. final project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages