Survival DeepSurv Learner
mlr_learners_surv.deepsurv.Rd
DeepSurv fits a neural network based on the partial likelihood from a Cox PH.
Calls survivalmodels::deepsurv()
from package 'survivalmodels'.
Prediction types
This learner returns two prediction types:
distr
: a survival matrix in two dimensions, where observations are represented in rows and time points in columns. Calculated using the internalsurvivalmodels::predict.pycox()
function.crank
: the expected mortality usingsurvivalmodels::surv_to_risk()
.
Meta Information
Task type: “surv”
Predict Types: “crank”, “distr”
Feature Types: “integer”, “numeric”
Required Packages: mlr3, mlr3proba, mlr3extralearners, survivalmodels, distr6, reticulate
Parameters
Id | Type | Default | Levels | Range |
frac | numeric | 0 | \([0, 1]\) | |
num_nodes | untyped | c(32L, 32L) | - | |
batch_norm | logical | TRUE | TRUE, FALSE | - |
dropout | numeric | - | \([0, 1]\) | |
activation | character | relu | celu, elu, gelu, glu, hardshrink, hardsigmoid, hardswish, hardtanh, relu6, leakyrelu, ... | - |
device | untyped | - | - | |
optimizer | character | adam | adadelta, adagrad, adam, adamax, adamw, asgd, rmsprop, rprop, sgd, sparse_adam | - |
rho | numeric | 0.9 | \((-\infty, \infty)\) | |
eps | numeric | 1e-08 | \((-\infty, \infty)\) | |
lr | numeric | 1 | \((-\infty, \infty)\) | |
weight_decay | numeric | 0 | \((-\infty, \infty)\) | |
learning_rate | numeric | 0.01 | \((-\infty, \infty)\) | |
lr_decay | numeric | 0 | \((-\infty, \infty)\) | |
betas | untyped | c(0.9, 0.999) | - | |
amsgrad | logical | FALSE | TRUE, FALSE | - |
lambd | numeric | 1e-04 | \([0, \infty)\) | |
alpha | numeric | 0.75 | \([0, \infty)\) | |
t0 | numeric | 1e+06 | \((-\infty, \infty)\) | |
momentum | numeric | 0 | \((-\infty, \infty)\) | |
centered | logical | TRUE | TRUE, FALSE | - |
etas | untyped | c(0.5, 1.2) | - | |
step_sizes | untyped | c(1e-06, 50) | - | |
dampening | numeric | 0 | \((-\infty, \infty)\) | |
nesterov | logical | FALSE | TRUE, FALSE | - |
batch_size | integer | 256 | \((-\infty, \infty)\) | |
epochs | integer | 1 | \([1, \infty)\) | |
verbose | logical | TRUE | TRUE, FALSE | - |
num_workers | integer | 0 | \((-\infty, \infty)\) | |
shuffle | logical | TRUE | TRUE, FALSE | - |
best_weights | logical | FALSE | TRUE, FALSE | - |
early_stopping | logical | FALSE | TRUE, FALSE | - |
min_delta | numeric | 0 | \((-\infty, \infty)\) | |
patience | integer | 10 | \((-\infty, \infty)\) |
Installation
Package 'survivalmodels' is not on CRAN and has to be install from GitHub via
remotes::install_github("RaphaelS1/survivalmodels")
.
References
Katzman, L J, Shaham, Uri, Cloninger, Alexander, Bates, Jonathan, Jiang, Tingting, Kluger, Yuval (2018). “DeepSurv: personalized treatment recommender system using a Cox proportional hazards deep neural network.” BMC medical research methodology, 18(1), 1–12.
See also
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
mlr3learners for a selection of recommended learners.
mlr3cluster for unsupervised clustering learners.
mlr3pipelines to combine learners with pre- and postprocessing steps.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Super classes
mlr3::Learner
-> mlr3proba::LearnerSurv
-> LearnerSurvDeepsurv
Examples
lrn("surv.deepsurv")
#> <LearnerSurvDeepsurv:surv.deepsurv>: Neural Network
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3proba, mlr3extralearners, survivalmodels, distr6,
#> reticulate
#> * Predict Types: [crank], distr
#> * Feature Types: integer, numeric
#> * Properties: -