| 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.