Multimodal Parkinson's Disease Detection using Random Forest
Overview
This repository provides a machine learning model for Parkinson's Disease detection using a multimodal approach that combines speech-based acoustic biomarkers and hand-drawn image features.
The model integrates clinically relevant voice features with Histogram of Oriented Gradients (HOG) extracted from spiral and wave drawings to improve diagnostic performance.
The classifier is a Grid Search optimized Random Forest model trained on fused multimodal features.
System Architecture
Voice Recording
β
βΌ
Voice Feature Extraction
β
ββββββββββββββββ
β β
βΌ βΌ
Drawing Image HOG Feature Extraction
β β
ββββββββ¬ββββββββ
βΌ
Feature Concatenation
βΌ
Random Forest (Grid Search)
βΌ
Parkinson Prediction
Problem Statement
Parkinson's Disease is a progressive neurological disorder where early diagnosis is essential for effective treatment.
Traditional diagnosis often depends on clinical examination. This project demonstrates how machine learning can assist clinicians by analyzing multiple patient modalities simultaneously.
Model Details
| Property | Value |
|---|---|
| Model | Random Forest Classifier |
| Optimization | Grid Search CV |
| Task | Binary Classification |
| Framework | Scikit-learn |
| Input | Voice + Drawing Features |
| Output | Healthy / Parkinson's Disease |
Dataset
Voice Dataset
- Source: UCI Parkinson's Dataset
- Samples: 195
- Parkinson's: 147
- Healthy: 48
Drawing Dataset
Spiral and Wave Drawing Dataset
- Total Images: 207
- Training Images: 147
- Testing Images: 60
Multimodal Dataset
Voice and drawing features were combined into a single feature vector after preprocessing and class balancing using Random Oversampling / SMOTE.
Input Features
Voice Features
- Fundamental Frequency (Fo)
- Highest Frequency (Fhi)
- Lowest Frequency (Flo)
- Jitter
- Shimmer
- NHR
- HNR
- RPDE
- DFA
Drawing Features
Histogram of Oriented Gradients (HOG)
Preprocessing includes:
- Grayscale conversion
- Image resizing (250Γ250)
- Otsu Thresholding
- HOG Feature Extraction
Feature Fusion
The multimodal feature vector is generated by concatenating the processed voice features and HOG image descriptors.
model_input = np.concatenate((voice_features, img_features), axis=1)
Performance
| Metric | Score |
|---|---|
| Accuracy | 92.73% |
| Precision | 100.00% |
| Recall | 90.70% |
| F1 Score | 95.12% |
Confusion Matrix
| Predicted Healthy | Predicted Parkinson's | |
|---|---|---|
| Actual Healthy | 12 | 0 |
| Actual Parkinson's | 4 | 39 |
Installation
git clone https://github.com/yourusername/multimodal-parkinsons-random-forest.git
cd multimodal-parkinsons-random-forest
pip install -r requirements.txt
Repository Structure
multimodal-parkinsons-random-forest/
βββ README.md
βββ parkinson_multimodal_random_forest.pkl
βββ requirements.txt
βββ LICENSE
βββ src/
βββ examples/
βββ images/
Intended Use
This model is intended for:
- Educational purposes
- Academic research
- Machine Learning experimentation
- Healthcare AI demonstrations
It is not intended for clinical diagnosis or medical decision-making.
Limitations
- Dataset size is relatively small.
- Performance depends on the quality of voice recordings and drawing images.
- The model has not been clinically validated.
- Predictions should not replace professional medical evaluation.
Ethical Considerations
This project is developed solely for research and educational purposes.
Medical AI systems should always be validated by healthcare professionals before being used in real-world clinical settings.
License
MIT License
Author
Sarthak.
AI/ML Engineer
Specializing in Machine Learning, Computer Vision, NLP, LLMs, and Generative AI.