An implementation for the publication "Learning Individualized Treatment Rules with Estimated Translated Inverse Propensity Score" on ICHI2020 (8th IEEE International Conference on Healthcare Informatics) with tf.keras api.
.
├── bandit.py # functions to generate dataset saved in the directory `data`
├── custom.py # a custom tf.keras layer for etips
├── data # generated datasets based on MNIST
├── Experiment_DM.py
├── Experiment_eIPS_etIPS.py
├── Experiment_IPS_tIPS.py
├── Experiment_PSE.py
├── Experiment_RP.py
├── Experiment_Supervised.py
├── LICENSE
├── lstm.py # functions to build various lstm-based models
├── models # directory to save trained models
├── README.md
├── requirements.txt
├── test_custom.py
├── test-requirements.txt
├── tuning.py # hyperopt-based tuning functions
└── utils.py # various helper functions- All
.pyfiles should be able to run withpython xxx.pyafter installing the packages specified inrequirements.txt. - The
.pyscripts prefixed withExperiment_can be used to generate (similar) results in Table I. - The
IpsLossLayerdefined incustom.pyenables the training by minimizing the estimated translated Inverse Propensity Score (etIPS). More details are in the related paper.
During training, the model architecture looks as following.
Meanwhile, only part of the model is used during inference.
The code is published to improve the reproducibility in the machine learning community. If you use the code, please cite
@inproceedings{wu2020learning,
title={Learning Individualized Treatment Rules with Estimated Translated Inverse Propensity Score},
author={Wu, Zhiliang and Yang, Yinchong and Ma, Yunpu and Liu, Yushan and Zhao, Rui and Moor, Michael and Tresp, Volker},
booktitle={2020 IEEE International Conference on Healthcare Informatics (ICHI)},
pages={1--11},
organization={IEEE}
}
}
