Time-Series & Sensors
Multi-Label ECG Preprocessing with SNOMED CT
SNOMED CT label preparation and clustering visualisation for 12-lead ECG records
The groundwork for ECG diagnosis models: raw 12-lead recordings in, clean multi-label targets and fair cross-validation folds out.
The problem
Challenge-style ECG datasets carry many SNOMED CT codes per recording, with rare and unscored labels that make training and evaluation inconsistent.
The approach
Reads WFDB signal and header pairs with caching, cleans demographics, encodes diagnoses into a multi-label matrix that follows the official scored and unscored split, plots the class distribution and builds stratified folds over joint label combinations, with a self-organising map for cluster visualisation.
The outcome
A reusable, open-source preprocessing codebase for multi-label ECG classification.
In detail
Built a preprocessing pipeline for multi-label 12-lead ECG diagnosis on PhysioNet/CinC Challenge-style WFDB data. It reads each recording and its header, cleans the age and sex fields, encodes the SNOMED CT diagnosis codes into a multi-label target matrix (collapsing rare and unscored codes to match the Challenge scoring split), plots the class distribution and builds stratified cross-validation folds over the joint label combinations. A self-organising map gives a cluster view of the data.
Built with
- ECG
- Multi-Label Classification
- SNOMED CT
- Self-Organising Maps
- Python
More in Time-Series & Sensors
- Probabilistic Deep Ensembles for FRDA Severity Assessment
- Cross-Device Domain Adaptation for FRDA Assessment
- AIM-M: Multiview IMU Assessment of Friedreich Ataxia
Next project: A 21 CFR Part 11 and ISO 13485 Compliant Electronic Document Management System
By Kanishka Ranaweera, PhD, Machine Learning Engineer in Melbourne, Victoria, Australia. hello@kanishkabuilt.me