Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaredleekatzman/DeepSurv
DeepSurv is a deep learning approach to survival analysis.
https://github.com/jaredleekatzman/DeepSurv
Last synced: about 1 month ago
JSON representation
DeepSurv is a deep learning approach to survival analysis.
- Host: GitHub
- URL: https://github.com/jaredleekatzman/DeepSurv
- Owner: jaredleekatzman
- License: mit
- Created: 2016-05-18T17:56:19.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-08-27T01:58:33.000Z (over 4 years ago)
- Last Synced: 2024-10-03T07:19:29.458Z (2 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 5.05 MB
- Stars: 583
- Watchers: 29
- Forks: 173
- Open Issues: 58
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-sciml - jaredleekatzman/DeepSurv: DeepSurv is a deep learning approach to survival analysis.
README
# DeepSurv
DeepSurv implements a deep learning generalization of the Cox proportional hazards model using Theano and Lasagne.
DeepSurv has an advantage over traditional Cox regression because it does not require an *a priori* selection of covariates, but learns them adaptively.
DeepSurv can be used in numerous survival analysis applications. One medical application is provided: recommend_treatment, which provides treatment recommendations for a set of patient observations.
For more details, see full paper [DeepSurv: Personalized Treatment Recommender System Using A Cox Proportional Hazards Deep Neural Network](http://arxiv.org/abs/1606.00931).
**For an updated implementation of the [Cox loss function](https://github.com/runopti/stg/blob/master/python/stg/losses.py) in PyTorch, please see [Feature Selection using Stochastic Gates (STG) by Yamada et al.](https://github.com/runopti/stg/tree/master/python).**
## Installation:
### From source
Download a local copy of DeepSurv and install from the directory:
git clone https://github.com/jaredleekatzman/DeepSurv.git
cd DeepSurv
pip install .### Dependencies
Theano, Lasagne (bleeding edge version), lifelines, matplotlib (for visualization), tensorboard_logger, and all of their respective dependencies.
### Running the tests
After installing, you can optionally run the test suite with
py.test
from the command line while in the repo's main directory.
## Running Experiments
Experiments are run using Docker containers built off of the [floydhub](https://github.com/floydhub/dl-docker) deep learning Docker images. DeepSurv can be run on either the CPU or the GPU with nvidia-docker.
All experiments are in the `DeepSurv/experiments/` directory.
To run an experiment, define the experiment name as an environmental variable `EXPRIMENT`and run the docker-compose file. Further details are in the `DeepSurv/experiments/` directory.
## Training a Network
Training DeepSurv can be done in a few lines.
First, all you need to do is prepare the datasets to have the following keys:{
'x': (n,d) observations (dtype = float32),
't': (n) event times (dtype = float32),
'e': (n) event indicators (dtype = int32)
}Then prepare a dictionary of hyper-parameters. And it takes only two lines to train a network:
network = deepsurv.DeepSurv(**hyperparams)
log = network.train(train_data, valid_data, n_epochs=500)You can then evaluate its success on testing data:
network.get_concordance_index(**test_data)
>> 0.62269622730138632If you have matplotlib installed, you can visualize the training and validation curves after training the network:
deepsurv.plot_log(log)