Coder Social home page Coder Social logo

thecml / ue-bnnsurv Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.25 MB

Official TensorFlow implementation of Uncertainty Estimation in Deep Bayesian Survival Models (BHI 2023)

License: MIT License

Python 17.76% Jupyter Notebook 82.24%
bayesian-inference bayesian-neural-networks deep-learning survival-analysis time-to-event

ue-bnnsurv's Introduction

Uncertainty Estimation in Deep Bayesian Survival Models

*UPDATE 11/16/23: pip package now available. Use "pip install bnnsurv". Tested with TensorFlow 2.13 and TensorFlow Probability 0.21. See test file for how to use.

This repository is the official TensorFlow implementation of Uncertainty Estimation in Deep Bayesian Survival Models, BHI 2023.

The proposed method is implemented based on TensorFlow Probability.

Full paper is available on IEEE Xplore: https://ieeexplore.ieee.org/document/10313466

Preprint: https://bhiconference.github.io/BHI2023/2023/pdfs/1570918354.pdf

In this work, we introduce the use of Bayesian inference techniques for survival analysis in neural networks that rely on the Cox’s proportional hazard assumption, for which we discuss a new flexible and effective architecture. We implement three architectures: a fully-deterministic neural network that acts as a baseline, a Bayesian model using variational inference and one using Monte-Carlo Dropout.

Experiments show that the Bayesian models improve predictive performance over SOTA neural networks in a test dataset with few samples (WHAS500, 500 samples) and provide comparable performance in two larger ones (SEER and SUPPORT, 4024 and 8873 samples, respectively)

License

To view the license for this work, visit https://github.com/thecml/UE-BNNSurv/blob/main/LICENSE

Requirements

To run the models, please refer to Requirements.txt.

Install auton-survival manually from Git:

pip install git+https://github.com/autonlab/auton-survival.git

Code was tested in virtual environment with Python 3.8, TensorFlow 2.11 and TensorFlow Probability 0.19

Training

  • Make directories mkdir results and mkdir models.

  • Please refer to paths.py to set appropriate paths. By default, results are in results and models in models

  • Network configuration using best hyperparameters are found in configs/*

  • Run the training code:

# SOTA models
python train_sota_models.py

# BNN Models
python train_bnn_models.py

Evaluation

  • After model training, view the results in the results folder.

Visualization

  • Run the visualization notebooks:
jupyter notebook plot_survival_curves.ipynb
jupyter notebook plot_survival_time.ipynb

Citation

@inproceedings{lillelund_uncertainty_2023,
  author={Lillelund, Christian Marius and Magris, Martin and Pedersen, Christian Fischer},
  booktitle={2023 IEEE EMBS International Conference on Biomedical and Health Informatics (BHI)}, 
  title={Uncertainty Estimation in Deep Bayesian Survival Models}, 
  year={2023},
  pages={1-4},
  doi={10.1109/BHI58575.2023.10313466}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.