Skip to content

Scripts and modules for training, testing, and explaining deep-learning models for ECG diagnosis.

License

Notifications You must be signed in to change notification settings

haochunchang/explain-ECG-diagnosis

Repository files navigation

Explaining ECG Diagnosis

CI testing

How to run

# clone project   
git clone git@github.com:haochunchang/explain-ECG-diagnosis.git
cd ECG-diagnosis

# install project
pip install -e .
pip install -r requirements.txt

# run main script
python main.py --help

Description

Scripts and modules for training, testing and explaining deep neural networks for classifying reason of admission from ECG signals.

Data

The data is from The PTB Diagnostic ECG Database.

The database contains 549 records from 290 subjects. Each subject is represented by 1 ~ 5 records

Each record includes 15 simultaneously measured signals:

  • The conventional 12 leads (i, ii, iii, avr, avl, avf, v1, v2, v3, v4, v5, v6)
  • The 3 Frank lead ECGs (vx, vy, vz).

Each signal is digitized at 1000 samples per second.

Current setting

  • Preprocessing
    • Splits records into a fixed chunk size, treating each chunk as individual sample.
  • Model
    • Use 1D convolutional filters and fully-connected layers to learn signal features.
  • Evaluation
    • Using Accuracy, F1 score and confusion matrix on testing dataset.
  • Interpretation
    • Modified Gradient-weighted Class Activation Mapping (Grad-CAM).
    • Modified Local Interpretable Model-agnostic Explanations (LIME).

About

Scripts and modules for training, testing, and explaining deep-learning models for ECG diagnosis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published