Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dementia Prediction Model

A machine learning-based clinical decision support system for dementia risk stratification using the National Alzheimer's Coordinating Center (NACC) dataset. This project implements advanced feature engineering, gradient boosting models, and explainability techniques to predict dementia risk with high accuracy and clinical interpretability.


🎯 Project Overview

Objective

Develop a high-performance machine learning model to predict dementia risk in patients using clinical and demographic features, serving as a screening and decision-support tool for healthcare professionals.

Key Achievements

  • βœ… 98.1% dimensionality reduction (1,014 β†’ 20 features)
  • βœ… 0.87 AUC-ROC on test set (excellent discrimination)
  • βœ… 79% sensitivity (detects 79 of 100 dementia cases)
  • βœ… 82% specificity (correctly identifies 82 of 100 healthy individuals)
  • βœ… 5ms inference latency (production-ready speed)
  • βœ… Probability-calibrated predictions for clinical risk stratification

Use Cases

  1. Primary Care Screening: Flag high-risk patients for cognitive assessment referral
  2. Specialist Clinics: Assist neurologists in dementia diagnosis
  3. Population Health: Identify at-risk cohorts for preventive interventions
  4. Research: Validate feature relationships in dementia pathology

πŸ“Š Dataset

Source

  • Name: Dementia Prediction Dataset (NACC)
  • Size: 195,196 patient records
  • Features: 1,014 clinical and demographic variables
  • Target Variable: DEMENTED (binary: Yes/No)
  • Location: Dataset/Dementia Prediction Dataset.csv

Data Characteristics

Statistic Value
Total Samples 195,196
Original Features 1,014
Final Features 20
Class Distribution Imbalanced (handled via boosting)
Missing Values ~15-30% per feature
Data Types Numeric (40%), Categorical (60%)

Feature Categories

  • Clinical Assessments: Autonomic domain scores (NACCADC), ADL impairment (INDEPEND)
  • Functional Abilities: FAQ composite score (10 activities summed)
  • Demographics: Age, education, marital status, race, language
  • Medical History: Referral reasons, visit frequency, comorbidities
  • Administrative: Form versions, assessment dates, informant relationships

✨ Features

Model Architecture

  • Primary Model: LightGBM (Light Gradient Boosting Machine)
  • Secondary Model: CatBoost (for feature selection)
  • Boosting Type: GBDT (Gradient Boosting Decision Trees)
  • Iterations: 600 boosting rounds
  • Learning Rate: 0.05 (2% shrinkage per iteration)

Key Features (Top 10)

  1. FAQ_SCORE β€” Functional Activities Questionnaire (34.49 importance)
  2. INDEPEND β€” Independence level assessment (20.13 importance)
  3. NACCADC β€” Autonomic/other cognitive domain score (13.31 importance)
  4. NACCDAYS β€” Days since last visit (7.91 importance)
  5. NACCREFR β€” Referral reason (4.60 importance)
  6. NACCYOD β€” Year of diagnosis (3.82 importance)
  7. NACCAPOE β€” APOE genotype (3.45 importance)
  8. NACCREAS β€” Reason for visit (2.91 importance)
  9. INRELTO β€” Informant relation to subject (2.34 importance)
  10. NACCACTV β€” Activities participation (1.89 importance)

Preprocessing Pipeline

  • Numeric imputation: Median strategy
  • Categorical imputation: Most frequent value
  • Scaling: StandardScaler for numeric features
  • Encoding: Native categorical dtype (LightGBM-compatible)
  • Feature engineering: FAQ composite score creation
  • Feature selection: Mutual Information β†’ Correlation filtering β†’ Model-based importance

πŸ› οΈ Installation & Setup

Prerequisites

  • Python Version: 3.8 or higher
  • Operating System: Windows, macOS, or Linux
  • RAM: Minimum 4 GB (8 GB recommended)
  • Disk Space: 2 GB for dataset and dependencies

Step 1: Clone/Download Repository

# Download the project folder
# e:\Work\College_works\Competitions\ModelX\Code\Dimensia-Model
cd Dimensia-Model

Step 2: Create Virtual Environment

# Windows
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python3 -m venv venv
source venv/bin/activate

Step 3: Install Dependencies

# Upgrade pip
pip install --upgrade pip

# Install required packages
pip install pandas numpy matplotlib seaborn scikit-learn lightgbm catboost imbalanced-learn jupyter

Step 4: Download Dataset

  1. Place the dataset at: Dataset/Dementia Prediction Dataset.csv
  2. Ensure file path matches: E:\Work\College_works\Competitions\ModelX\Dataset-20251115T054810Z-1-001\Dataset\Dementia Prediction Dataset.csv
  3. Update file path in notebook if necessary

πŸ”„ Model Pipeline

Phase 1: Data Exploration & Cleaning

Raw Data (195,196 Γ— 1,014)
  ↓
Target Separation β†’ Y: DEMENTED, X: 1,013 features
  ↓
FAQ Score Engineering β†’ Create composite feature from 10 variables
  ↓
Column Selection β†’ Keep 94 clinically relevant features
  ↓
Data Preprocessing β†’ Imputation (median/mode), Scaling, Encoding
  ↓
Cleaned Data (195,196 Γ— 94)

Phase 2: Feature Engineering & Selection

94 Features
  ↓
Mutual Information Filtering β†’ Keep top 50% (47 features)
  ↓
Correlation-Based Removal β†’ Drop r > 0.85 (38 features)
  ↓
CatBoost Feature Importance β†’ Select top 20 features
  ↓
Final Feature Set (195,196 Γ— 20)

Phase 3: Model Training & Evaluation

Train-Test Split (80-20, stratified)
  ↓
LightGBM Training (600 iterations)
  ↓
Predictions & Probability Scoring
  ↓
Sigmoid Calibration β†’ Corrects overconfidence
  ↓
Evaluation Metrics (AUC, Precision, Recall, F1, Log Loss, Brier Score)
  ↓
Permutation Importance Analysis
  ↓
Production Model

Clinical Workflow Integration

1. Data Input

  • Patient's clinical data automatically pulled from EHR
  • Requires FAQ responses (mandatory)
  • Validates data completeness

2. Model Prediction

  • LightGBM generates dementia probability (0-100%)
  • Sigmoid calibration ensures confidence = reality
  • Risk stratification: LOW (<30%), MEDIUM (30-70%), HIGH (>70%)

3. Physician Review

  • Physician sees flagged patients with risk scores
  • Decision support NOT autonomous
  • Physician makes final diagnostic decision
  • Feedback logged for model retraining

4. Documentation

  • Model probability documented in patient record
  • Clinical reasoning for decision documented
  • Enables quality improvement tracking

Tools & Libraries


πŸ‘₯ Contributors

Member R.M Ravin Jayasanka Member P.P Sanuja Rasanjana Patirana


πŸ“ License

This project is provided for educational and research purposes. Clinical deployment requires institutional review and regulatory approval.

Disclaimer: This model is intended as a decision support tool only and should NOT be used as the sole basis for clinical diagnosis. All diagnostic decisions must involve qualified healthcare professionals.


πŸ“ž Support & Contact

For issues, questions, or suggestions:

  1. Check Troubleshooting section above
  2. Review DOCUMENTATION.md for technical details
  3. Consult Demensia.ipynb code comments
  4. Contact project maintainer

βœ… Checklist Before Running

  • Python 3.8+ installed
  • Virtual environment activated
  • All dependencies installed (pip install -r requirements.txt)
  • Dataset downloaded and placed in Dataset/ folder
  • File paths verified in notebook
  • RAM requirement met (>4 GB)
  • Jupyter installed and working

Ready to go! πŸš€

Execute: jupyter notebook β†’ Open Demensia.ipynb β†’ Run cells sequentially


Last Updated: November 17, 2025 Project Status: βœ… Complete & Production-Ready

About

A machine learning-based clinical decision support system designed to screen for dementia risk using the NACC dataset. By applying advanced feature engineering and Gradient Boosting, the model distills over 1,000 clinical variables into 20 key indicators, delivering highly accurate, probability-calibrated risk assessments for healthcare.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages