mlr_graphs_survtoregr | R Documentation |
Wrapper around multiple PipeOps to help in creation of complex survival to reduction methods. Three reductions are currently implemented, see details.
pipeline_survtoregr( method = 1, regr_learner = lrn("regr.featureless"), distrcompose = TRUE, distr_estimator = lrn("surv.kaplan"), regr_se_learner = NULL, surv_learner = lrn("surv.coxph"), survregr_params = list(method = "ipcw", estimator = "kaplan", alpha = 1), distrcompose_params = list(form = "aft"), probregr_params = list(dist = "Normal"), learnercv_params = list(resampling.method = "insample"), graph_learner = FALSE )
method |
|
regr_learner |
LearnerRegr |
distrcompose |
|
distr_estimator |
LearnerSurv |
regr_se_learner |
LearnerRegr |
surv_learner |
LearnerSurv |
survregr_params |
|
distrcompose_params |
|
probregr_params |
|
learnercv_params |
|
graph_learner |
|
Three reduction strategies are implemented, these are:
Survival to Deterministic Regression A
PipeOpTaskSurvRegr Converts TaskSurv to TaskRegr.
A LearnerRegr is fit and predicted on the new TaskRegr
.
PipeOpPredRegrSurv transforms the resulting PredictionRegr to PredictionSurv.
Optionally: PipeOpDistrCompositor is used to compose a distr
predict_type from the
predicted response
predict_type.
Survival to Probabilistic Regression
PipeOpTaskSurvRegr Converts TaskSurv to TaskRegr.
A LearnerRegr is fit on the new TaskRegr
to predict response
, optionally a second
LearnerRegr
can be fit to predict se
.
PipeOpProbregrCompositor composes a distr
prediction from the learner(s).
PipeOpPredRegrSurv transforms the resulting PredictionRegr to PredictionSurv.
Survival to Deterministic Regression B
PipeOpLearnerCV cross-validates and makes predictions from
a linear LearnerSurv with lp
predict type on the original TaskSurv.
PipeOpTaskSurvRegr transforms the lp
predictions into the target of a
TaskRegr with the same features as the original TaskSurv.
A LearnerRegr is fit and predicted on the new TaskRegr
.
PipeOpPredRegrSurv transforms the resulting PredictionRegr to PredictionSurv.
Optionally: PipeOpDistrCompositor is used to compose a distr
predict_type from the
predicted lp
predict_type.
Interpretation:
Once a dataset has censoring removed (by a given method) then a regression
learner can predict the survival time as the response
.
This is a very similar reduction to the first method with the main difference being the distribution composition. In the first case this is composed in a survival framework by assuming a linear model form and baseline hazard estimator, in the second case the composition is in a regression framework. The latter case could result in problematic negative predictions and should therefore be interpreted with caution, however a wider choice of distributions makes it a more flexible composition.
This is a rarer use-case that bypasses censoring not be removing it but instead by first predicting the linear predictor from a survival model and fitting a regression model on these predictions. The resulting regression predictions can then be viewed as the linear predictors of the new data, which can ultimately be composed to a distribution.
mlr3pipelines::Graph or mlr3pipelines::GraphLearner
Other pipelines:
mlr_graphs_crankcompositor
,
mlr_graphs_distrcompositor
,
mlr_graphs_probregrcompositor
,
mlr_graphs_survaverager
,
mlr_graphs_survbagging
## Not run: if (requireNamespace("mlr3pipelines", quietly = TRUE)) { library("mlr3") library("mlr3pipelines") task = tsk("rats") # method 1 with censoring deletion, compose to distribution pipe = ppl( "survtoregr", method = 1, regr_learner = lrn("regr.featureless"), distrcompose = TRUE, survregr_params = list(method = "delete") ) pipe$train(task) pipe$predict(task) # method 2 with censoring imputation (mrl), one regr learner pipe = ppl( "survtoregr", method = 2, regr_learner = lrn("regr.featureless", predict_type = "se"), survregr_params = list(method = "mrl") ) pipe$train(task) pipe$predict(task) # method 3 with censoring omission and no composition, insample resampling pipe = ppl( "survtoregr", method = 3, regr_learner = lrn("regr.featureless"), distrcompose = FALSE, surv_learner = lrn("surv.coxph"), survregr_params = list(method = "omission") ) pipe$train(task) pipe$predict(task) } ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.