Add CNN-LSTM model for ICU Mortality Prediction#943
Draft
nikhita2 wants to merge 1 commit intosunlabuiuc:masterfrom
Draft
Add CNN-LSTM model for ICU Mortality Prediction#943nikhita2 wants to merge 1 commit intosunlabuiuc:masterfrom
nikhita2 wants to merge 1 commit intosunlabuiuc:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contributor: Nikhita Shanker (nikhita2)
Contribution Type: Model
Paper: "Robust Mortality Prediction in the Intensive Care Unit using Temporal Difference Learning" (Frost et al.)
Paper Link: https://arxiv.org/pdf/2411.04285
Repository: https://github.com/tdgfrost/td-icu-mortality
Description: This PR adds the
CNNLSTMPredictormodel to PyHealth, implementing the CNN-LSTM hybrid architecture from the td-icu-mortality paper. The model processes discrete medical codes through:EmbeddingModelThe model inherits from
pyhealth.models.BaseModel, implements the requiredforward()method, and is compatible with any PyHealthSampleDatasetwith sequence input features.Relation to Paper Replication: This PR directly implements the CNN-LSTM model from our replicated paper (Frost et al.). The architecture in
cnn_lstm.pyfollows the original paper's CNN-LSTM design, and the ablation study extends the paper by exploring hyperparameter sensitivity (learning rate, hidden dimension, dropout, batch size), whereas the original paper uses fixed default values for these hyperparameters.Files to Review:
pyhealth/models/cnn_lstm.py— Core model implementation (CNNLSTMPredictor)tests/core/test_cnn_lstm.py— Synthetic data unit tests (7 tests, runs in seconds)examples/mimic4_icu_mortality_cnn_lstm.py— Ablation study script with learning rate, hidden dim, dropout, and batch size sweepsdocs/api/models/pyhealth.models.cnn_lstm.rst— API documentation RST filedocs/api/models.rst— Updated index (addedcnn_lstmto models toctree)