Skip to contents

Fits a survival Cox model using likelihood based boosting and interal cross-validation for the number of steps. Calls CoxBoost::CoxBoost() or CoxBoost::cv.CoxBoost() from package 'CoxBoost'.

Details

Use LearnerSurvCoxboost and LearnerSurvCVCoxboost for Cox boosting without and with internal cross-validation of boosting step number, respectively. Tuning using the internal optimizer in LearnerSurvCVCoxboost may be more efficient when tuning stepno only. However, for tuning multiple hyperparameters, mlr3tuning and LearnerSurvCoxboost will likely give better results.

If penalty == "optimCoxBoostPenalty" then CoxBoost::optimCoxBoostPenalty is used to determine the penalty value to be used in CoxBoost::cv.CoxBoost.

Three prediction types are returned for this learner, using the internal predict.CoxBoost() function:

  1. lp: a vector of linear predictors (relative risk scores), one per observation.

  2. crank: same as lp.

  3. distr: a 2d survival matrix, with observations as rows and time points as columns. The internal transformation uses the Breslow estimator to compose the survival distributions from the lp predictions.

Dictionary

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

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

Meta Information

Parameters

IdTypeDefaultLevelsRange
maxstepnointeger100\([0, \infty)\)
Kinteger10\([2, \infty)\)
typecharacterverweijverweij, naive-
foldsuntypedNULL-
minstepnointeger50\([0, \infty)\)
start.penaltynumeric-\((-\infty, \infty)\)
iter.maxinteger10\([1, \infty)\)
upper.marginnumeric0.05\([0, 1]\)
unpen.indexuntyped--
standardizelogicalTRUETRUE, FALSE-
penaltynumeric-\((-\infty, \infty)\)
criterioncharacterpscorepscore, score, hpscore, hscore-
stepsize.factornumeric1\((-\infty, \infty)\)
sf.schemecharactersigmoidsigmoid, linear-
pendistmatuntyped--
connected.indexuntyped--
x.is.01logicalFALSETRUE, FALSE-
return.scorelogicalTRUETRUE, FALSE-
tracelogicalFALSETRUE, FALSE-
at.stepuntyped--

Installation

The package 'CoxBoost' is not on CRAN and has to be installed from GitHub using remotes::install_github("binderh/CoxBoost").

References

Binder, Harald, Allignol, Arthur, Schumacher, Martin, Beyersmann, Jan (2009). “Boosting for high-dimensional time-to-event data with competing risks.” Bioinformatics, 25(7), 890--896.

See also

Author

RaphaelS1

Super classes

mlr3::Learner -> mlr3proba::LearnerSurv -> LearnerSurvCVCoxboost

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method selected_features()

Returns the set of selected features which have non-zero coefficients. Calls the internal coef.CoxBoost() function.

Usage

LearnerSurvCVCoxboost$selected_features(at_step = NULL)

Arguments

at_step

(integer(1))
Which boosting step to get the coefficients for. If no step is given (default), the final boosting step is used.

Returns

(character()) vector of feature names.


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerSurvCVCoxboost$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

learner = mlr3::lrn("surv.cv_coxboost")
print(learner)
#> <LearnerSurvCVCoxboost:surv.cv_coxboost>: Likelihood-based Boosting
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3proba, mlr3extralearners, CoxBoost, pracma
#> * Predict Types:  crank, [distr], lp
#> * Feature Types: integer, numeric
#> * Properties: selected_features, weights

# available parameters:
learner$param_set$ids()
#>  [1] "maxstepno"       "K"               "type"            "folds"          
#>  [5] "minstepno"       "start.penalty"   "iter.max"        "upper.margin"   
#>  [9] "unpen.index"     "standardize"     "penalty"         "criterion"      
#> [13] "stepsize.factor" "sf.scheme"       "pendistmat"      "connected.index"
#> [17] "x.is.01"         "return.score"    "trace"           "at.step"