A Machine Learning-based system for the early prediction of Parkinson's Disease using multimodal data including voice recordings and hand tremor signals. This project combines deep learning models and signal processing techniques to assist in identifying early-stage Parkinson's symptoms.
This project focuses on predicting early-stage Parkinson's Disease using two types of input data:
- 🗣️ Voice recordings processed using a Convolutional Neural Network (CNN).
- ✋ Hand tremor IMU sensor data processed using a Dense Neural Network (DNN).
- 🔗
pipeline.pyruns both the voice and tremor models and performs the combined prediction for increased robustness.
- Python 3.x
- TensorFlow / Keras
- Scikit-learn
- NumPy, Pandas, Matplotlib
- Librosa (voice feature extraction)
- OpenCV, SciPy (signal processing)
- Jupyter Notebook
✅ Predicts Parkinson’s from voice and/or tremor data
✅ Fusion of two independent models (CNN + DNN)
✅ Clear prediction outputs and probability scores
✅ Simple command-line interface and modular code
# 1. Clone the repository
git clone https://github.com/eshaansingla/ParkinsonsEarlyPrediction.git
cd ParkinsonsEarlyPrediction
# 2. (Optional) Create a virtual environment
python -m venv venv
# For Windows
venv\Scripts\activate
# For Linux/macOS
source venv/bin/activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Place your datasets in the following structure:
# └── data/
# ├── voice/
# └── imu/Run either the voice-only or the combined pipeline:
# Combined model (CNN + DNN)
python pipeline.pyModify dataset paths or hyperparameters directly in the script if needed.
| Input Type | Model | Accuracy |
|---|---|---|
| Voice Only | CNN | 88% |
| Voice + Tremor | CNN + DNN | 91% |
🔍 Interpretation:
The Voice-based model is weighted more heavily (60%) than the Hand Tremor model (40%) in the final decision. This reflects medical reality — subtle voice changes often appear earlier and are more stable indicators compared to tremor readings.
➡️ Example 1:
The voice model indicates a high probability for Parkinson’s and the tremor model agrees (PD 70%), resulting in a high combined PD probability (~85.59%).
✅ Final Diagnosis: Parkinson’s
➡️ Example 2:
The voice model predicts healthy, but the tremor model shows PD with 55.90% confidence. The combined probability (weighted) drops below the threshold (to ~26.89%).
✅ Final Diagnosis: Healthy
➡️ Example 3:
The voice model predicts healthy , but the tremor model shows PD with 70% confidence. The combined probability (weighted) drops below the threshold (to ~33.69%).
✅ Final Diagnosis: Healthy
This project is licensed under the MIT License – see the LICENSE file for details.
Eshaan Singla
📧 eshaansingla2807@gmail.com
🔗 LinkedIn
🔗 GitHub
Ujjwal Aggarwal
📧 uaggarwal1_be23@thapar.edu
🔗 GitHub
Kunal
📧 kunal120222@gmail.com
🔗 LinkedIn
🔗 GitHub
🧠 Built with passion to support early detection of parkinson's.


