Continual Learning of Longitudinal Health Records
Repo for reproducing the experiments in Continual Learning of Longitudinal Health Records (2021). Release v0.1 of the project corresponds to published results.
Experiments evaluate various continual learning strategies on standard ICU predictive tasks exhibiting covariate shift. Task outcomes are binary, and input data are multi-modal time-series from patient ICU admissions.
Setup
- Clone this repo to your local machine.
- Request access to MIMIC-III and eICU-CRD.1
- Download the preprocessed datasets to the
/data
subfolder. - (Recommended) Create and activate a new virtual environment:
python3 -m venv .venv --upgrade-deps
- Install dependencies:
pip install -U wheel buildtools pip install -r requirements.txt
Results
To reproduce main results:
python3 main.py --train
Figures will be saved to /results/figs
. Instructions to reproduce supplementary experiments can be found here. Bespoke experiments can be specified with appropriate flags e.g:
python3 main.py --domain_shift hospital --outcome mortality_48h --models CNN --strategies EWC Replay --validate --train
A complete list of available options can be found here or with python3 main.py --help
.
Citation
If you use any of this code in your work, please reference us:
@misc{armstrong2021continual,
title={Continual learning of longitudinal health records},
author={J. Armstrong and D. Clifton},
year={2021},
eprint={2112.11944},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Notes
Note that Temporal Domain Incremental learning experiments require linkage with original MIMIC-III dataset. Requires downloading ADMISSIONS.csv
from MIMIC-III to the /data/mimic3/
folder.
Stack
For standardisation of ICU predictive task definitions, feature pre-processing, and Continual Learning method implementations, we use the following tools:
Tool | Source |
---|---|
ICU Data | MIMIC-III eICU-CRD |
Data preprocessing / task definition | FIDDLE |
Continual Learning strategies | Avalanche |