Built to order

Parkinson's Disease Detection from Voice using Machine Learning

This project builds a machine-learning screener that detects Parkinson's disease signatures from voice recordings, trained on the UCI Parkinson's dataset of 195 sustained-vowel recordings with 22 vocal biomarkers (jitter, shimmer, HNR, PPE and others). It uses an RBF-kernel SVM validated with leave-one-subject-out cross-validation, and ships with a web demo that simulates a 5-second voice capture, extracts the biomarkers, and returns a risk score with per-feature explanations. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and AI & Machine Learning.

Parkinson's Disease Detection from Voice using Machine Learning — project thumbnail preview
More project photos (2)

The problem

Up to 90% of people with Parkinson's disease develop vocal impairment — reduced loudness, breathiness, pitch instability — often years before the classic motor symptoms prompt a diagnosis. Those changes are measurable: jitter (pitch instability), shimmer (loudness instability), harmonics-to-noise ratio and nonlinear measures like PPE capture them numerically from a simple sustained "ahh". The UCI Parkinson's dataset packages 195 such recordings from 31 subjects with 22 precomputed biomarkers, making it an ideal teaching dataset for biomedical ML — small enough to run anywhere, methodologically rich enough to teach the field's central lesson: validate by subject, not by recording. This project trains an RBF SVM with leave-one-subject-out cross-validation, explains each prediction through its biomarker profile, and delivers a voice-test web demo. Screening-only limits are stated plainly throughout.

How it works

  1. The 195 UCI recordings' 22 precomputed vocal features are loaded with subject IDs and PD/healthy labels.
  2. Features are standardized with a scaler fit on the training fold only.
  3. An RBF-kernel SVM (C and gamma tuned by nested cross-validation) is trained; logistic regression and random forest serve as baselines.
  4. Validation uses leave-one-subject-out: 31 folds, each holding out all recordings of one subject — no speaker appears in both train and test of any fold.
  5. Accuracy, sensitivity, specificity and ROC-AUC are aggregated across folds; feature importance is read from the SVM weights and permutation analysis.
  6. In the web demo, a voice profile's 22 biomarkers are scaled identically and the saved SVM returns the risk score.
  7. Each biomarker is plotted against its healthy range so the prediction is explained feature by feature.

Tech stack:

  • Python 3, scikit-learn (SVM)
  • UCI Parkinson's dataset (Little et al., 2007)
  • librosa / Parselmouth (feature theory)
  • NumPy, Matplotlib, pandas
  • Jupyter Notebook (training)
  • HTML5 canvas + JavaScript (voice-test demo)

Dataset & model details

  • Dataset: Parkinson's Disease dataset (UCI ML Repository, Little et al., 2007) — 195 sustained-vowel phonations from 31 subjects (23 with Parkinson's, 8 healthy), 22 vocal features per recording (jitter, shimmer, HNR, NHR, RPDE, DFA, PPE, spread1/2, D2, MDVP statistics).
  • Task: Binary classification; input = 22 standardized vocal biomarkers, output = Parkinson's risk score.
  • Model: SVM with RBF kernel (C=10, γ=0.01 tuned by nested CV), StandardScaler preprocessing.
  • Metrics: Accuracy ~92% (design target for the built-to-order training run), sensitivity, specificity, ROC-AUC — all under leave-one-subject-out CV. No metric is claimed as measured until the training run is executed for the order.
Parameter Value
Input format 22 vocal biomarkers from a sustained vowel
Subjects 31 (23 PD, 8 healthy) · 195 recordings
Validation Leave-one-subject-out, 31 folds
Model SVM-RBF, C=10, γ=0.01
Accuracy ~92% LOSO (design target, not a measured claim)
Training time Under 2 minutes on a laptop CPU (expected)
Inference <10 ms per screening (expected)
Demo Web app with waveform + biomarker display

Project features

  • [22 vocal biomarkers] Jitter, shimmer, HNR/NHR, RPDE, DFA, PPE, spread measures and MDVP statistics — each explained in plain language in the report.
  • [Voice-test web demo] Simulated 5-second "ahh" capture with animated waveform, biomarker extraction display, risk score and per-feature healthy-range comparison.
  • [Leave-one-subject-out validation] 31-fold CV by subject — the only honest validation when 195 recordings come from 31 people; random splits would leak speakers.
  • [RBF SVM classifier] Tuned C and gamma via nested CV, benchmarked against logistic regression and random forest baselines.
  • [Per-feature explanation] Every prediction is explained through its biomarker bars against healthy ranges, so the score is inspectable.
  • [Full training notebook] Scaling, model selection, LOSO validation, ROC analysis and calibration in one reproducible notebook.
  • [Screening report] The demo generates a structured screening summary with the mandatory not-a-diagnosis disclaimer.

What is included

  • Complete training & evaluation Jupyter notebook
  • Trained SVM model file with scaler and feature pipeline
  • Voice-test web demo (capture simulation, biomarkers, risk score)
  • LOSO metrics, ROC curves and biomarker-importance plots
  • Project report PDF (background, vocal-biomarker theory, methodology, ethics)
  • PPT presentation for final review
  • Viva Q&A preparation document (SVM kernels, LOSO, jitter/shimmer/HNR, screening limits)

Limitations & prerequisites

  • ~92% is a design target for the training run, stated honestly — the report documents the actual achieved figure.
  • 31 subjects is a small cohort; generalization claims are bounded and the report says so.
  • SCREENING AID ONLY: vocal biomarkers correlate with Parkinson's in research data but cannot diagnose it — not a medical device, never for clinical decisions.
  • The demo simulates capture; the shipped build documents microphone integration and the sustained-vowel protocol.
  • Age, colds and other voice disorders also shift these biomarkers — confounders the report discusses.

Frequently Asked Questions

Which dataset is used?

The UCI Parkinson's dataset (Little et al., 2007) — 195 sustained-vowel recordings from 31 subjects (23 with Parkinson's, 8 healthy), each with 22 precomputed vocal biomarkers.

What are jitter, shimmer and HNR?

Jitter measures cycle-to-cycle pitch instability, shimmer the loudness instability, and HNR (harmonics-to-noise ratio) how much breathy noise contaminates the voice — all elevated in Parkinsonian speech. The report explains each biomarker in plain language.

Why leave-one-subject-out validation?

195 recordings from 31 people means a random split would put the same speaker's voice in train and test — the model would learn speakers, not disease. LOSO holds out each subject entirely, the only honest validation here, and the report demonstrates the difference.

Can this diagnose Parkinson's?

No — and the project states this everywhere it matters. It is a screening research prototype: vocal biomarkers correlate with the disease but diagnosis requires a neurologist. The demo carries this disclaimer on every report.

Why an SVM instead of deep learning?

195 samples cannot train a neural network without severe overfitting. An RBF SVM is the right-capacity model for small biomedical datasets — choosing model complexity to match data size is itself a viva talking point.

Is this project suitable for a final-year project?

Yes — for Computer Science, IT and AI/ML programs. It teaches biomedical signal features, rigorous small-data validation and honest treatment of AI's limits in healthcare. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and AI & Machine Learning.

Components & software requirements
  • Python 3, scikit-learn (SVM)
  • UCI Parkinson's dataset (Little et al., 2007)
  • librosa / Parselmouth (feature theory)
  • NumPy, Matplotlib, pandas
  • Jupyter Notebook (training)
  • HTML5 canvas + JavaScript (voice-test demo)

Dataset & model details

  • Dataset: Parkinson's Disease dataset (UCI ML Repository, Little et al., 2007) — 195 sustained-vowel phonations from 31 subjects (23 with Parkinson's, 8 healthy), 22 vocal features per recording (jitter, shimmer, HNR, NHR, RPDE, DFA, PPE, spread1/2, D2, MDVP statistics).
  • Task: Binary classification; input = 22 standardized vocal biomarkers, output = Parkinson's risk score.
  • Model: SVM with RBF kernel (C=10, γ=0.01 tuned by nested CV), StandardScaler preprocessing.
  • Metrics: Accuracy ~92% (design target for the built-to-order training run), sensitivity, specificity, ROC-AUC — all under leave-one-subject-out CV. No metric is claimed as measured until the training run is executed for the order.
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Illustration of object tracking showing video frames with bounding boxes and persistent ID labels following people and vehicles, comparing motion prediction and appearance matching.B.E./B.Tech Computer Science and Electronics students building video analytics projects — people counting, vehicle tracking, sports analysis — who have detection working and need

Object Tracking: DeepSORT and ByteTrack Explained

Detection finds objects per frame; tracking keeps their identities across frames. This guide explains tracking-by-detection, Kalman motion models, DeepSORT's appearance embeddings vs ByteTrack's low-confidence box recovery, tracking metrics (HOTA, IDF1, ID switches), and the tuning parameters that determine real-world quality.

Read guide
Illustration of image segmentation showing U-Net's U-shaped encoder-decoder with skip connections producing pixel masks, alongside Mask R-CNN detecting instances with masks.B.E./B.Tech Computer Science and AI/ML students moving from image classification or detection to pixel-level understanding — medical imaging, defect detection, autonomous driving

Image Segmentation: U-Net and Mask R-CNN

When projects need pixel-level answers, segmentation delivers. This guide explains semantic vs instance vs panoptic segmentation, U-Net's encoder-decoder with skip connections, Mask R-CNN's parallel mask head, Dice and IoU evaluation, paired augmentation, and how to choose the right architecture for your data and question.

Read guide
Illustration of Whisper speech-to-text showing sound waves flowing into a neural network and emerging as transcribed text with timestamps and speaker labels.B.E./B.Tech Computer Science and AI/ML students adding speech-to-text to projects — voice assistants, meeting transcription, accessibility tools

Whisper for Speech-to-Text in Student Projects

Whisper transcribes speech in dozens of languages with no training required. This guide covers how it works, choosing among model sizes, running it locally with faster-whisper, handling hour-long audio, timestamps and speaker diarization, multilingual quirks, and honest evaluation with word error rate.

Read guide
Get a quotation