# Mit Bih Ecg Eval

> Evaluates the classification accuracy and energy efficiency of a hardware-aware spiking neural network (SNN) for real-time ECG beat detection and categorization. Use when the user wants to benchmark on MIT-BIH, or asks about evaluating this task. Reports Accuracy.

- Skill: `qhjqhj00/mit-bih-ecg-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/mit-bih-ecg-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/mit-bih-ecg-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/mit-bih-ecg-eval

---


# mit-bih-ecg-eval

> SparrowSNN: A Hardware/software Co-design for Energy Efficient ECG Classification — Yan et al. (2024) (arXiv:2406.06543, 2024)

## What this evaluates

Evaluates the classification accuracy and energy efficiency of a hardware-aware spiking neural network (SNN) for real-time ECG beat detection and categorization.

## Datasets

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

## Metrics

- `Accuracy` **(primary)** — range: percent
  - Percentage of correctly classified heartbeats out of the total test set.
- `Sensitivity (Se)` — range: percent
  - True Positive Rate: TP / (TP + FN).
- `Positive Predictivity (P+)` — range: percent
  - Precision: TP / (TP + FP).
- `Energy per inference` — range: nJ
  - Total energy consumed per heartbeat classification, calculated from dynamic/static power, memory read/write energy, and leakage over the inference cycle count.

## Input / output format

**Input**: 180-sample ECG window centered on an R-peak, normalized to [0, 1].

**Output**: One of four class labels (N, SVEB, VEB, F) and associated energy/power metrics.

## Scoring recipe

```python
def evaluate(predictions, gold):
    correct = sum(1 for p, g in zip(predictions, gold) if p == g)
    accuracy = correct / len(gold)
    
    tp = sum(1 for p, g in zip(predictions, gold) if p == g == 'N')
    fn = sum(1 for p, g in zip(predictions, gold) if p != g and g == 'N')
    fp = sum(1 for p, g in zip(predictions, gold) if p != g and p == 'N')
    
    se = tp / (tp + fn) if (tp + fn) > 0 else 0
    pp = tp / (tp + fp) if (tp + fp) > 0 else 0
    return accuracy, se, pp
```

## Common pitfalls

- Energy estimates are tightly coupled to the 22nm ASIC synthesis and 4MHz clock frequency, making direct comparisons with other works at different nodes or frequencies misleading.
- Training data is heavily augmented with SMOTE to balance classes, which inflates training set size but does not reflect real-world class imbalance.
- Patient-specific online training uses 20% of a patient's data for fine-tuning, which is not available in standard zero-shot or fully supervised benchmarks.

## Evidence (verbatim from paper)

> We evaluate the performance before and after per-patient fine-tuning using two key metrics: sensitivity (Se) and positive predictivity (P+) [6], with calculations detailed below: Se = TP / (TP + FN); P+ = TP / (TP + FP). where TP FN and FP indicate true positive, false negative and false positive. ... The overall accuracy of the SNN has increased by 1.57%.

## Citation

```bibtex
@misc{yan2024sparrowsnn,
  title={SparrowSNN: A Hardware/software Co-design for Energy Efficient ECG Classification},
  author={Yan et al. (2024)},
  year={2024},
  note={arXiv:2406.06543}
}
```

- arXiv: 2406.06543

