Home

Awesome

GAMENet

GAMENet : Graph Augmented MEmory Networks for Recommending Medication Combination

For reproduction of medication prediction results in our paper, see instructions below.

Overview

This repository contains code necessary to run GAMENet model. GAMENet is an end-to-end model mainly based on graph convolutional networks (GCN) and memory augmented nerual networks (MANN). Paitent history information and drug-drug interactions knowledge are utilized to provide safe and personalized recommendation of medication combination. GAMENet is tested on real-world clinical dataset MIMIC-III and outperformed several state-of-the-art deep learning methods in heathcare area in all effectiveness measures and also achieved higher DDI rate reduction from existing EHR data.

Requirements

Running the code

Data preprocessing

In ./data, you can find the well-preprocessed data in pickle form. Also, it's easy to re-generate the data as follows:

  1. download MIMIC data and put DIAGNOSES_ICD.csv, PRESCRIPTIONS.csv, PROCEDURES_ICD.csv in ./data/
  2. download DDI data and put it in ./data/
  3. run code ./data/EDA.ipynb

Data information in ./data:

Model Comparation

Traning codes can be found in ./code/baseline/

GAMENet

python train_GAMENet.py --model_name GAMENet --ddi# training with DDI knowledge
python train_GAMENet.py --model_name GAMENet --ddi --resume_path Epoch_{}_JA_{}_DDI_{}.model --eval # testing with DDI knowledge
python train_GAMENet.py --model_name GAMENet # training without DDI knowledge
python train_GAMENet.py --model_name GAMENet --resume_path Epoch_{}_JA_{}_DDI_{}.model --eval # testing with DDI knowledge

Cite

Please cite our paper if you use this code in your own work:

@article{shang2018gamenet,
  title="{GAMENet: Graph Augmented MEmory Networks for Recommending Medication Combination}",
  author={Shang, Junyuan and Xiao, Cao and Ma, Tengfei and Li, Hongyan and Sun, Jimeng},
  journal={arXiv preprint arXiv:1809.01852},
  year={2018}
}