ecg-cvd-classification-eval
Machine learning-based detection of cardiovascular disease using ECG signals: performance vs. complexity — Pham et al. (arXiv:2303.11429, 2023)
What this evaluates
Evaluates machine learning models for detecting cardiovascular diseases and arrhythmias from ECG signals, comparing classification performance against computational complexity and energy efficiency.
Datasets
- CinC 2017 — total ?; splits: test (-1)
- CinC 2020 — total ?; splits: test (-1)
Metrics
F1 score(primary) — range: [0, 1]- Harmonic mean of precision and recall, typically macro-averaged across all arrhythmia classes.
Power consumption— range: other- Total electrical energy consumed during the inference pipeline, measured in watt-hours.
CO2 emissions— range: other- Equivalent carbon dioxide emissions generated by the energy consumption, calculated using the eco2AI library.
Inference time— range: other- Total wall-clock time required for preprocessing and model prediction per signal.
Input / output format
Input: Raw 1D ECG time-series signals, Poincaré recurrence plots, or hand-crafted time-series features (e.g., FFT coefficients, peak ratios).
Output: Discrete classification label indicating the cardiovascular condition (e.g., Normal, Atrial Fibrillation, Sinus Bradycardia, Sinus Tachycardia, Other).
Scoring recipe
def compute_f1(predictions, gold):
tp = sum(1 for p, g in zip(predictions, gold) if p == g == 1)
fp = sum(1 for p, g in zip(predictions, gold) if p == 1 and g == 0)
fn = sum(1 for p, g in zip(predictions, gold) if p == 0 and g == 1)
precision = tp / (tp + fp) if (tp + fp) > 0 else 0
recall = tp / (tp + fn) if (tp + fn) > 0 else 0
return 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0
# Power/CO2 measured via hardware profiling or eco2AI library.
# Inference time measured as total wall-clock ms per signal.
Common pitfalls
- Heavy preprocessing steps for feature-based models (e.g., XGBoost) dominate total inference time, masking fast prediction speeds.
- Poincaré diagram methods rely heavily on heart rate variability, causing them to fail on arrhythmia types with stable heart rates.
- Long-term ECG recordings are underrepresented in the dataset, making per-source performance metrics potentially unstable.
Evidence (verbatim from paper)
The experiment results showed the superior performance of the 1D ResNet model learned over raw data in both datasets. Especially, in CinC 2020, this model surpassed the 1st rank solution by a large margin. The comparison of F1 scores and the efficiency metrics (power consumption, eq. CO2) are given in Table 3.
Citation
@misc{pham2023ecgcvd,
title={Machine learning-based detection of cardiovascular disease using ECG signals: performance vs. complexity},
author={Pham et al.},
year={2023},
note={arXiv:2303.11429}
}
- arXiv: 2303.11429