mlr_learners_surv.priority_lasso: Survival Priority Lasso Learner

mlr_learners_surv.priority_lassoR Documentation

Survival Priority Lasso Learner

Description

Patient outcome prediction based on multi-omics data taking practitioners’ preferences into account. Calls prioritylasso::prioritylasso() from prioritylasso. Many parameters for this survival learner are the same as mlr_learners_surv.cv_glmnet as prioritylasso() calls glmnet::cv.glmnet() during training phase. Note that prioritylasso() has ways to deal with block-wise missing data, but this feature is not supported currently.

Prediction types

This learner returns 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 prioritylasso::predict.prioritylasso().

  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 mlr3proba::breslow() where the Breslow estimator is used for computing the baseline hazard.

Initial parameter values

  • family is set to "cox" for the Cox survival objective and cannot be changed

  • type.measure set to "deviance" (cross-validation measure)

Dictionary

This Learner can be instantiated via lrn():

lrn("surv.priority_lasso")

Meta Information

  • Task type: “surv”

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

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

  • Required Packages: mlr3, mlr3proba, prioritylasso

Parameters

Id Type Default Levels Range
blocks untyped - -
max.coef untyped NULL -
block1.penalization logical TRUE TRUE, FALSE -
lambda.type character lambda.min lambda.min, lambda.1se -
standardize logical TRUE TRUE, FALSE -
nfolds integer 5 [1, \infty)
foldid untyped NULL -
cvoffset logical FALSE TRUE, FALSE -
cvoffsetnfolds integer 10 [1, \infty)
return.x logical TRUE TRUE, FALSE -
include.allintercepts logical FALSE TRUE, FALSE -
use.blocks untyped "all" -
alignment character lambda lambda, fraction -
alpha numeric 1 [0, 1]
big numeric 9.9e+35 (-\infty, \infty)
devmax numeric 0.999 [0, 1]
dfmax integer - [0, \infty)
eps numeric 1e-06 [0, 1]
epsnr numeric 1e-08 [0, 1]
exclude untyped - -
exmx numeric 250 (-\infty, \infty)
fdev numeric 1e-05 [0, 1]
gamma untyped - -
grouped logical TRUE TRUE, FALSE -
intercept logical TRUE TRUE, FALSE -
keep logical FALSE TRUE, FALSE -
lambda untyped - -
lambda.min.ratio numeric - [0, 1]
lower.limits untyped -Inf -
maxit integer 100000 [1, \infty)
mnlam integer 5 [1, \infty)
mxit integer 100 [1, \infty)
mxitnr integer 25 [1, \infty)
nlambda integer 100 [1, \infty)
offset untyped NULL -
parallel logical FALSE TRUE, FALSE -
penalty.factor untyped - -
pmax integer - [0, \infty)
pmin numeric 1e-09 [0, 1]
prec numeric 1e-10 (-\infty, \infty)
standardize.response logical FALSE TRUE, FALSE -
thresh numeric 1e-07 [0, \infty)
trace.it integer 0 [0, 1]
type.gaussian character - covariance, naive -
type.logistic character Newton Newton, modified.Newton -
type.multinomial character ungrouped ungrouped, grouped -
upper.limits untyped Inf -
relax logical FALSE TRUE, FALSE -

Super classes

mlr3::Learner -> mlr3proba::LearnerSurv -> LearnerSurvPriorityLasso

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage
LearnerSurvPriorityLasso$new()

Method selected_features()

Selected features, i.e. those where the coefficient is non-zero.

Usage
LearnerSurvPriorityLasso$selected_features()
Returns

character().


Method clone()

The objects of this class are cloneable with this method.

Usage
LearnerSurvPriorityLasso$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Author(s)

HarutyunyanLiana

References

Simon K, Vindi J, Roman H, Tobias H, Anne-Laure B (2018). “Priority-Lasso: a simple hierarchical approach to the prediction of clinical outcome using multi-omics data.” BMC Bioinformatics, 19. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1186/s12859-018-2344-6")}.

See Also

Examples


# Define a Task
task = tsk("grace")
# Create train and test set
ids = partition(task)
# check task's features
task$feature_names
# partition features to 2 blocks
blocks = list(bl1 = 1:3, bl2 = 4:6)
# define learner
learner = lrn("surv.priority_lasso", blocks = blocks, block1.penalization = FALSE,
              lambda.type = "lambda.1se", standardize = TRUE, nfolds = 5)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
# selected features
learner$selected_features()
# Make predictions for the test observations
pred = learner$predict(task, row_ids = ids$test)
pred
# Score the predictions
pred$score()


mlr-org/mlr3extralearners documentation built on Dec. 21, 2024, 2:21 p.m.