Skip to content
Back to skills

Ecg Arrhythmia Eval

ASecurity

Evaluates a CNN's ability to reconstruct missing QRS complexes in ECG signals via self-supervised regression and to classify cardiac arrhythmias. It probes signal reconstruction fidelity and multi-class rhythm recognition under imbalanced conditions. Use when the user wants to benchmark on DS0 dataset (MIT-BIH Arrhythmia), or asks about evaluating this task. Reports NRMSE.

  • 3 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 11, 2026
researchpython

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill ecg-arrhythmia-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ecg Arrhythmia Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ecg Arrhythmia Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-ecg-arrhythmia-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-ecg-arrhythmia-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ecg-arrhythmia-eval
description: Evaluates a CNN's ability to reconstruct missing QRS complexes in ECG signals via self-supervised regression and to classify cardiac arrhythmias. It probes signal reconstruction fidelity and multi-class rhythm recognition under imbalanced conditions. Use when the user wants to benchmark on DS0 dataset (MIT-BIH Arrhythmia), or asks about evaluating this task. Reports NRMSE.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2210.14253
  bibtex_key: [REDACTED]
  confidence: high
---

# ecg-arrhythmia-eval

> Classification and Self-Supervised Regression of Arrhythmic ECG Signals Using Convolutional Neural Networks — Grabowski et al. (2022) (arXiv:2210.14253, 2022)

## What this evaluates

Evaluates a CNN's ability to reconstruct missing QRS complexes in ECG signals via self-supervised regression and to classify cardiac arrhythmias. It probes signal reconstruction fidelity and multi-class rhythm recognition under imbalanced conditions.

## Datasets

- **DS0 dataset (MIT-BIH Arrhythmia)** — total ?; splits: train (-1), test (-1)

## Metrics

- `NRMSE` **(primary)** — range: [0, 1]
  - Normalized Root Mean Square Error: sqrt(mean((y - y_hat)^2)) / (max(y) - min(y)). Measures reconstruction error relative to the signal's amplitude range.
- `Overall accuracy` — range: percent
  - Percentage of correctly classified instances, averaged over multiple independent train-validation-test splits.
- `Balanced accuracy` — range: percent
  - Average of recall obtained on each class to account for dataset imbalance.
- `Cohen's Kappa` — range: [0, 1]
  - Agreement between predicted and actual labels corrected for chance agreement.

## Input / output format

**Input**: 10-second ECG segment (3,600 sampled datapoints) with a 100-sample window zeroed out at a random position (shifted ±10% from the annotated R peak).

**Output**: Regression: 100-sample predicted signal vector. Classification: discrete arrhythmia class label.

## Scoring recipe

```python
def compute_nrmse(y_true, y_pred):
    return np.sqrt(np.mean((y_true - y_pred)**2)) / (np.max(y_true) - np.min(y_true))

def compute_balanced_accuracy(y_true, y_pred):
    recalls = [np.mean(y_pred[y_true == c] == c) for c in np.unique(y_true)]
    return np.mean(recalls)
```

## Common pitfalls

- Shifting the zeroing window by ±10% significantly impacts NRMSE; failing to align predictions temporally inflates error.
- Rescaling signals to [0,1] before error computation does not improve NRMSE, as amplitude variations reflect cardiac disorders rather than rhythm.
- Test vectors are selected independently of training/validation splits, risking data overlap between train and test sets.

## Evidence (verbatim from paper)

> Normalized root mean square error (NRMSE) distance between the original y = [y_1, \dots, y_{n_o}] and the predicted \hat{y} = [\hat{y}_1, \dots, \hat{y}_{n_o}] signals was used as an error measure, which is given by: e_{\text{nmse}} = \frac{\sqrt{\frac{1}{n_o}\sum_{i=1}^{n_o}(y_i - \hat{y}_i)^2}}{\max(\boldsymbol{y}) - \min(\boldsymbol{y})}

## Citation

```bibtex
@misc{grabowski2022ecg,
  title={Classification and Self-Supervised Regression of Arrhythmic ECG Signals Using Convolutional Neural Networks},
  author={Grabowski et al. (2022)},
  year={2022},
  note={arXiv:2210.14253}
}
```

- arXiv: 2210.14253

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.