# 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
Scripts and modules for training, testing and explaining deep neural networks for classifying reason of admission from ECG signals.
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.
- 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).