Skip to contents

Fits a neural network based on pseudo-conditional survival probabilities. Calls survivalmodels::dnnsurv() from package 'survivalmodels'.

Details

Custom nets can be used in this learner either using the survivalmodels::build_keras_net utility function or using keras. The number of output channels should be of length 1 and number of input channels is the number of features plus number of cuts.

Dictionary

This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn():

mlr_learners$get("surv.dnnsurv")
lrn("surv.dnnsurv")

Meta Information

Parameters

IdTypeDefaultLevelsRange
cutsinteger5\([1, \infty)\)
cutpointsuntyped--
custom_modeluntyped--
optimizercharacteradamadadelta, adagrad, adamax, adam, nadam, rmsprop, sgd-
lrnumeric0.02\([0, \infty)\)
beta_1numeric0.9\([0, 1]\)
beta_2numeric0.999\([0, 1]\)
epsilonnumeric-\([0, \infty)\)
decaynumeric0\([0, \infty)\)
clipnormnumeric-\((-\infty, \infty)\)
clipvaluenumeric-\((-\infty, \infty)\)
schedule_decaynumeric0.04\((-\infty, \infty)\)
momentumnumeric0\([0, \infty)\)
nesterovlogicalFALSETRUE, FALSE-
loss_weightsuntyped--
weighted_metricsuntyped--
early_stoppinglogicalFALSETRUE, FALSE-
min_deltanumeric0\([0, \infty)\)
patienceinteger0\([0, \infty)\)
verboseinteger0\([0, 2]\)
baselinenumeric-\((-\infty, \infty)\)
restore_best_weightslogicalFALSETRUE, FALSE-
batch_sizeinteger32\([1, \infty)\)
epochsinteger10\([1, \infty)\)
validation_splitnumeric0\([0, 1]\)
shufflelogicalTRUETRUE, FALSE-
sample_weightuntyped--
initial_epochinteger0\([0, \infty)\)
steps_per_epochinteger-\([1, \infty)\)
validation_stepsinteger-\([1, \infty)\)
stepsinteger-\([0, \infty)\)
callbacksuntyped--

Installation

Package 'survivalmodels' is not on CRAN and has to be install from GitHub via remotes::install_github("RaphaelS1/survivalmodels").

Custom mlr3 defaults

  • verbose:

    • Actual default: 1L

    • Adjusted default: 0L

    • Reason for change: Prevents plotting.

References

Zhao, Lili, Feng, Dai (2019). “Dnnsurv: Deep neural networks for survival analysis using pseudo values.” arXiv preprint arXiv:1908.02337.

See also

Author

RaphaelS1

Super classes

mlr3::Learner -> mlr3proba::LearnerSurv -> LearnerSurvDNNSurv

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerSurvDNNSurv$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

learner = mlr3::lrn("surv.dnnsurv")
print(learner)
#> <LearnerSurvDNNSurv:surv.dnnsurv>: Neural Network
#> * Model: -
#> * Parameters: verbose=0
#> * Packages: mlr3, mlr3proba, mlr3extralearners, survivalmodels, keras,
#>   pseudo, tensorflow, distr6
#> * Predict Types:  [crank], distr
#> * Feature Types: integer, numeric
#> * Properties: -

# available parameters:
learner$param_set$ids()
#>  [1] "cuts"                 "cutpoints"            "custom_model"        
#>  [4] "optimizer"            "lr"                   "beta_1"              
#>  [7] "beta_2"               "epsilon"              "decay"               
#> [10] "clipnorm"             "clipvalue"            "schedule_decay"      
#> [13] "momentum"             "nesterov"             "loss_weights"        
#> [16] "weighted_metrics"     "early_stopping"       "min_delta"           
#> [19] "patience"             "verbose"              "baseline"            
#> [22] "restore_best_weights" "batch_size"           "epochs"              
#> [25] "validation_split"     "shuffle"              "sample_weight"       
#> [28] "initial_epoch"        "steps_per_epoch"      "validation_steps"    
#> [31] "steps"                "callbacks"