# Biomedical Timeseries Classification Eval

> Evaluates the robustness and classification accuracy of deep learning models on biomedical time-series signals (ECG and EEG). It probes the model's ability to handle class imbalance, signal noise, and diverse diagnostic categories without relying on traditional oversampling techniques. Use when the user wants to benchmark on PTB Diagnostic ECG Database, MIT-BIH Arrhythmia Database, UCI Seizure EEG Dataset, or asks about evaluating this task. Reports Accuracy, F1 Score.

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

---


# biomedical-timeseries-classification-eval

> A Novel Data Augmentation Strategy for Robust Deep Learning Classification of Biomedical Time-Series Data: Application to ECG and EEG Analysis — Guhdar et al. (2025) (arXiv:2507.12645, 2025)

## What this evaluates

Evaluates the robustness and classification accuracy of deep learning models on biomedical time-series signals (ECG and EEG). It probes the model's ability to handle class imbalance, signal noise, and diverse diagnostic categories without relying on traditional oversampling techniques.

## Datasets

- **PTB Diagnostic ECG Database** — total ?; splits: test (-1)
- **MIT-BIH Arrhythmia Database** — total ?; splits: test (-1)
- **UCI Seizure EEG Dataset** — total ?; splits: test (-1)

## Metrics

- `Accuracy` **(primary)** — range: [0, 1]
  - The proportion of correctly classified instances out of the total number of instances. Calculated as (TP + TN) / (TP + TN + FP + FN).
- `F1 Score` **(primary)** — range: [0, 1]
  - The harmonic mean of Precision and Recall, providing a single metric that balances both concerns. Calculated as 2 * (Precision * Recall) / (Precision + Recall).
- `Precision` — range: [0, 1]
  - The ratio of true positive predictions to the total number of positive predictions. Calculated as TP / (TP + FP).
- `Recall` — range: [0, 1]
  - The ratio of true positive predictions to the total number of actual positives. Calculated as TP / (TP + FN).
- `Critical Success Index (CSI)` — range: [0, 1]
  - A measure of the proportion of correctly predicted events out of all predicted and actual events. Calculated as TP / (TP + FP + FN).
- `Matthews Correlation Coefficient (MCC)` — range: [-1, 1]
  - A correlation coefficient between the observed and predicted binary classifications that returns a value between -1 and +1. It is considered a balanced measure even with class imbalance.

## Input / output format

**Input**: Preprocessed biomedical time-series signals (ECG or EEG) after wavelet denoising and baseline removal, fed into a ResNet backbone with multi-head attention.

**Output**: Classification label corresponding to the diagnostic category, arrhythmia type, or seizure event.

## Scoring recipe

```python
def compute_metrics(y_true, y_pred):
    tp = sum(1 for t, p in zip(y_true, y_pred) if t == p and t == 1)
    tn = sum(1 for t, p in zip(y_true, y_pred) if t == p and t == 0)
    fp = sum(1 for t, p in zip(y_true, y_pred) if t != p and p == 1)
    fn = sum(1 for t, p in zip(y_true, y_pred) if t != p and p == 0)
    accuracy = (tp + tn) / (tp + tn + fp + fn)
    precision = tp / (tp + fp) if (tp + fp) > 0 else 0
    recall = tp / (tp + fn) if (tp + fn) > 0 else 0
    f1 = 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0
    csi = tp / (tp + fp + fn) if (tp + fp + fn) > 0 else 0
    mcc = (tp * tn - fp * fn) / ((tp + fp) * (tp + fn) * (tn + fp) * (tn + fn)) ** 0.5
    return {'Accuracy': accuracy, 'F1 Score': f1, 'Precision': precision, 'Recall': recall, 'CSI': csi, 'MCC': mcc}
```

## Common pitfalls

- Inference time is theoretically estimated based on FLOPs rather than empirically benchmarked on specific hardware, making real-world latency claims approximate.
- Perfect accuracy on the PTB dataset may indicate potential data leakage or overly simplistic train/test splits, which is a known issue in public biomedical benchmarks.
- Class imbalance is mitigated via Focal Loss rather than traditional oversampling, which may cause direct metric comparisons with baseline methods using SMOTE or similar techniques to be unfair.

## Evidence (verbatim from paper)

> The performance of the model was quantitatively assessed using a comprehensive set of evaluation metrics, including Accuracy (Equation 26), Precision (Equation 27), Recall (Equation 28), F1 Score (Equation 29), Critical Success Index (CSI) (Equation 30), and Matthews Correlation Coefficient (MCC) (Equation 31). The primary results highlighted in this section focus on accuracy and F1-score, with visual insights into the classification performance provided through accuracy plots and confusion matrices for each dataset.

## Citation

```bibtex
@misc{guhdar2025novel,
  title={A Novel Data Augmentation Strategy for Robust Deep Learning Classification of Biomedical Time-Series Data: Application to ECG and EEG Analysis},
  author={Guhdar et al. (2025)},
  year={2025},
  note={arXiv:2507.12645}
}
```

- arXiv: 2507.12645

