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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support