Survival L1 and L2 Penalized Cox Learner
mlr_learners_surv.penalized.Rd
Penalized (L1 and L2) Cox Proportional Hazards model.
Calls penalized::penalized()
from penalized.
Details
The penalized
and unpenalized
arguments in the learner are implemented slightly
differently than in penalized::penalized()
. Here, there is no parameter for penalized
but
instead it is assumed that every variable is penalized unless stated in the unpenalized
parameter.
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 internalpenalized::predict()
function. By default the Breslow estimatorpenalized::breslow()
is used for computing the baseline hazard.crank
: the expected mortality usingmlr3proba::.surv_return()
.
Meta Information
Task type: “surv”
Predict Types: “crank”, “distr”
Feature Types: “logical”, “integer”, “numeric”, “factor”
Required Packages: mlr3, mlr3proba, mlr3extralearners, penalized, pracma
Parameters
Id | Type | Default | Levels | Range |
unpenalized | untyped | - | - | |
lambda1 | untyped | 0 | - | |
lambda2 | untyped | 0 | - | |
positive | logical | FALSE | TRUE, FALSE | - |
fusedl | logical | FALSE | TRUE, FALSE | - |
startbeta | numeric | - | \((-\infty, \infty)\) | |
startgamma | numeric | - | \((-\infty, \infty)\) | |
steps | integer | 1 | \([1, \infty)\) | |
epsilon | numeric | 1e-10 | \([0, 1]\) | |
maxiter | integer | - | \([1, \infty)\) | |
standardize | logical | FALSE | TRUE, FALSE | - |
trace | logical | TRUE | TRUE, FALSE | - |
References
Goeman, J J (2010). “L1 penalized estimation in the Cox proportional hazards model.” Biometrical journal, 52(1), 70–84.
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
-> LearnerSurvPenalized
Methods
Method selected_features()
Selected features are extracted with the method coef()
of the S4 model
object, see penalized::penfit()
.
By default it returns features with non-zero coefficients.
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.
Examples
# Define the Learner
learner = mlr3::lrn("surv.penalized")
print(learner)
#> <LearnerSurvPenalized:surv.penalized>: Penalized Regression
#> * Model: -
#> * Parameters: trace=FALSE
#> * Packages: mlr3, mlr3proba, mlr3extralearners, penalized, pracma
#> * Predict Types: [crank], distr
#> * Feature Types: logical, integer, numeric, factor
#> * Properties: -
# 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)
#> $model
#> Penalized cox regression object
#> 6 regression coefficients
#>
#> Loglikelihood = -1339.404
#>
#> $task_has_factors
#> [1] FALSE
#>
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> surv.cindex
#> 0.8360762