Evaluates a model's ability to classify cardiac arrhythmias from short ECG signal windows by leveraging transfer learning from pre-trained image CNNs. It probes the effectiveness of converting 1D physiological signals into 2D spectrograms and extracting high-level features for multi-class rhythm discrimination. Use when the user wants to benchmark on Combined MIT-BIH & European ST-T ECG Datasets, or asks about evaluating this task. Reports accuracy.
Installs into .claude/skills of the current project.
Are you the author of Ecg Arrhythmia Classification Eval?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-ecg-arrhythmia-classification-eval)
---
name: ecg-arrhythmia-classification-eval
description: Evaluates a model's ability to classify cardiac arrhythmias from short ECG signal windows by leveraging transfer learning from pre-trained image CNNs. It probes the effectiveness of converting 1D physiological signals into 2D spectrograms and extracting high-level features for multi-class rhythm discrimination. Use when the user wants to benchmark on Combined MIT-BIH & European ST-T ECG Datasets, or asks about evaluating this task. Reports accuracy.
metadata:
skill_kind: dataset_eval
source_arxiv: 1812.04693
bibtex_key: salem2018ecg
confidence: high
---
# ecg-arrhythmia-classification-eval
> ECG Arrhythmia Classification Using Transfer Learning from 2-Dimensional Deep CNN Features — Salem et al. (2018) (arXiv:1812.04693, 2018)
## What this evaluates
Evaluates a model's ability to classify cardiac arrhythmias from short ECG signal windows by leveraging transfer learning from pre-trained image CNNs. It probes the effectiveness of converting 1D physiological signals into 2D spectrograms and extracting high-level features for multi-class rhythm discrimination.
## Datasets
- **Combined MIT-BIH & European ST-T ECG Datasets** — total 7008; splits: full (7008)
## Metrics
- `accuracy` **(primary)** — range: [0, 1]
- Standard classification accuracy: the number of correctly predicted instances divided by the total number of instances.
## Input / output format
**Input**: 500-sample windows of 1D ECG signals transformed into 2D spectrograms using 31 frequency partitions.
**Output**: Single categorical label from four classes: Atrial Fibrillation, Malignant Ventricular Arrhythmia, ST-T change, or Normal Sinus Rhythm.
## Scoring recipe
```python
accuracy_scores = []
for train_idx, val_idx in kfold.split(data):
X_train, y_train = data[train_idx], labels[train_idx]
X_val, y_val = data[val_idx], labels[val_idx]
# Transform to spectrograms, extract DenseNet-161 features from 12 layers
# Apply chi-squared feature selection
# Train linear SVM
preds = svm.predict(X_val_features)
accuracy_scores.append(accuracy_score(y_val, preds))
final_accuracy = mean(accuracy_scores)
```
## Common pitfalls
- Using a fixed train/test split instead of the specified ten-fold cross-validation, which can lead to high variance given the small dataset size (~7008 instances).
- Ignoring the specific window size (500 samples) and spectrogram partition count (31), which drastically alter the input representation and feature distribution.
- Failing to apply chi-squared feature selection before SVM classification, as raw DenseNet features contain many irrelevant ImageNet-specific maps that degrade performance.
## Evidence (verbatim from paper)
> achieves 97.23% accuracy on a near-7000-instance dataset via ten-fold cross-validation
## Citation
```bibtex
@misc{salem2018ecg,
title={ECG Arrhythmia Classification Using Transfer Learning from 2-Dimensional Deep CNN Features},
author={Salem et al. (2018)},
year={2018},
note={arXiv:1812.04693}
}
```
- arXiv: 1812.04693