LSTM diagnoses ICU patients, one vital sign at a time
A faithful TensorFlow reimplementation of a 2015 paper that uses recurrent neural networks to predict multiple medical conditions from messy, irregular vital-sign sequences.

What it does
This repo implements a multilabel LSTM classifier that reads time-series patient data—think heart rate, blood pressure, oxygen saturation—and predicts which of several diagnoses apply. It targets the MIMIC-III ICU dataset, the messy gold standard for clinical machine learning. The code is delivered as a Jupyter notebook, not a library: you run cells, inspect outputs, adapt to your own cleaned data.
The interesting bit
The paper itself predates the transformer era, yet the problem remains stubbornly relevant. ICU data is irregular, missing, and multilabel by nature—patients rarely have exactly one thing wrong. The LSTM architecture here is the boring part; the value is in how it handles the temporal structure without requiring perfectly aligned time steps.
Key highlights
- Reimplements “Learning to Diagnose with LSTM Recurrent Neural Networks” (arXiv:1511.03677)
- Built for Python 3.5-era TensorFlow, with minimal dependencies (NumPy, Pandas)
- Designed around the MIMIC-III benchmark pipeline, though the author notes this isn’t the exact dataset the original paper used
- Notebook format makes the training loop and data plumbing visible, not hidden behind abstractions
- Explicitly invites pull requests for alternative datasets or fixes
Caveats
- The README warns this isn’t the original authors’ dataset; reproducibility of paper results is unclear
- Python 3.5 and the TensorFlow version implied are well past end-of-life; expect dependency archaeology
- No training curves, accuracy numbers, or pre-trained weights provided in the README
Verdict
Worth a look if you’re teaching or studying clinical deep learning, or need a concrete starting point for MIMIC-III LSTM baselines. Skip it if you want production-ready code or modern PyTorch implementations—this is a reference implementation frozen in 2016 tooling.