Time-Series & Sensors

Multi-Label ECG Preprocessing with SNOMED CT

SNOMED CT label preparation and clustering visualisation for 12-lead ECG records

GitHub

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

More in Time-Series & Sensors

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