mlr_learners_surv.glmboost: Boosted Generalized Linear Survival Learner

mlr_learners_surv.glmboostR Documentation

Boosted Generalized Linear Survival Learner

Description

Fits a generalized linear survival model using a boosting algorithm. Calls mboost::glmboost() from mboost.

Dictionary

This Learner can be instantiated via lrn():

lrn("surv.glmboost")

Meta Information

  • Task type: “surv”

  • Predict Types: “crank”, “distr”, “lp”

  • Feature Types: “logical”, “integer”, “numeric”, “factor”

  • Required Packages: mlr3, mlr3proba, mlr3extralearners, mboost, pracma

Parameters

Id Type Default Levels Range
family character coxph coxph, weibull, loglog, lognormal, gehan, cindex, custom -
custom.family untyped - -
nuirange untyped c(0, 100) -
center logical TRUE TRUE, FALSE -
mstop integer 100 [0, \infty)
nu numeric 0.1 [0, 1]
risk character inbag inbag, oobag, none -
oobweights untyped NULL -
stopintern logical FALSE TRUE, FALSE -
trace logical FALSE TRUE, FALSE -
sigma numeric 0.1 [0, 1]
ipcw untyped 1 -
na.action untyped stats::na.omit -
contrasts.arg untyped - -

Prediction types

This learner returns two to three prediction types:

  1. lp: a vector containing the linear predictors (relative risk scores), where each score corresponds to a specific test observation. Calculated using mboost::predict.glmboost(). If the family parameter is not "coxph", -lp is returned, since non-coxph families represent AFT-style distributions where lower lp values indicate higher risk.

  2. crank: same as lp.

  3. distr: a survival matrix in two dimensions, where observations are represented in rows and time points in columns. Calculated using mboost::survFit(). This prediction type is present only when the family distribution parameter is equal to "coxph" (default). By default the Breslow estimator is used for computing the baseline hazard.

Offset

If a Task contains a column with the offset role, it is automatically incorporated via the offset argument in mboost's training function. No offset is applied during prediction for this learner.

Super classes

mlr3::Learner -> mlr3proba::LearnerSurv -> LearnerSurvGLMBoost

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage
LearnerSurvGLMBoost$new()

Method importance()

Importance scores are extracted with the function mboost::varimp() and represent a feature's individual contribution to the risk reduction per boosting step of the fitted model. The higher the risk reduction, the larger the feature importance.

Note: Importance is supported only for datasets with numeric features, as the presence of factors with multiple levels makes it difficult to get the original feature names.

Usage
LearnerSurvGLMBoost$importance()
Returns

Named numeric().


Method selected_features()

Selected features are extracted with the function mboost::coef.glmboost() which by default returns features with non-zero coefficients and for the final number of boosting iterations.

Note: Selected features can be retrieved only for datasets with numeric features, as the presence of factors with multiple levels makes it difficult to get the original feature names.

Usage
LearnerSurvGLMBoost$selected_features()
Returns

character().


Method clone()

The objects of this class are cloneable with this method.

Usage
LearnerSurvGLMBoost$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

RaphaelS1

References

Bühlmann, Peter, Yu, Bin (2003). “Boosting with the L 2 loss: regression and classification.” Journal of the American Statistical Association, 98(462), 324–339.

See Also

Examples


# Define the Learner
learner = mlr3::lrn("surv.glmboost")
print(learner)

# Define a Task
task = mlr3::tsk("grace")

# Create train and test set
ids = mlr3::partition(task)

# Train the learner on the training ids
learner$train(task, row_ids = ids$train)

print(learner$model)
print(learner$importance())

# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)

# Score the predictions
predictions$score()


mlr-org/mlr3extralearners documentation built on June 11, 2025, 7:06 p.m.