/adversarial_time_to_event

ICML 2018: "Adversarial Time-to-Event Modeling"

Primary LanguagePythonMIT LicenseMIT

Adversarial Time-to-Event Modeling (ICML 2018)

This repository contains the TensorFlow code to replicate experiments in our paper Adversarial Time-to-Event Modeling (ICML 2018):

@inproceedings{chapfuwa2018adversarial, 
  title={Adversarial Time-to-Event Modeling},
  author={Chapfuwa, Paidamoyo and Tao, Chenyang and Li, Chunyuan and Page, Courtney and Goldstein, Benjamin and Carin, Lawrence and Henao, Ricardo},
  booktitle={ICML},
  year={2018}
}

This project is maintained by Paidamoyo Chapfuwa. Please contact paidamoyo.chapfuwa@duke.edu for any relevant issues.

Prerequisites

The code is implemented with the following dependencies:

pip install -r requirements.txt

Data

We consider the following datasets:

  • SUPPORT
  • Flchain
  • SEER
  • EHR (a large study from Duke University Health System centered around inpatient visits due to comorbidities in patients with Type-2 diabetes)

For convenience, we provide pre-processing scripts of all datasets (except EHR). In addition, the data directory contains downloaded Flchain and SUPPORT datasets.

Model Training

The code consists of 3 models: DATE, DATE-AE and DRAFT. For each model, please modify the train scripts with the chosen datasets: dataset is set to one of the three public datasets {flchain, support, seer}, the default is support.

  • To train DATE or DATE_AE model (When simple=True (default), DATE is chosen. Otherwise, modify in train_date.py.)
 python train_date.py
  • To train DRAFT model
 python train_draft.py

Metrics and Visualizations

Once the networks are trained and the results are saved, we extract the following key results:

  • Training and evaluation metrics are logged in model.log
  • Epoch based cost function plots can be found in the plots directory
  • To evaluate and plot generated time-to-event distribution we provide raw results in the matrix directory