Learn R Programming

mlr3proba (version 0.4.9)

pecs: Prediction Error Curves for PredictionSurv and LearnerSurv

Description

Methods to plot prediction error curves (pecs) for either a PredictionSurv object or a list of trained LearnerSurvs.

Usage

pecs(x, measure = c("graf", "logloss"), times, n, eps = NULL, ...)

# S3 method for list pecs( x, measure = c("graf", "logloss"), times, n, eps = NULL, task = NULL, row_ids = NULL, newdata = NULL, train_task = NULL, train_set = NULL, proper = TRUE, ... )

# S3 method for PredictionSurv pecs( x, measure = c("graf", "logloss"), times, n, eps = 1e-15, train_task = NULL, train_set = NULL, proper = TRUE, ... )

Arguments

measure

(character(1)) Either "graf" for MeasureSurvGraf, or "logloss" for MeasureSurvIntLogloss

times

(numeric()) If provided then either a vector of time-points to evaluate measure or a range of time-points.

n

(integer()) If times is missing or given as a range, then n provide number of time-points to evaluate measure over.

eps

(numeric()) Small error value to prevent errors resulting from a log(0) or 1/0 calculation. Default is 1e-15 for log loss and 1e-3 for Graf.

...

Additional arguments.

task
row_ids

(integer()) Passed to Learner$predict.

newdata

(data.frame()) If not missing Learner$predict_newdata is called instead of Learner$predict.

train_task

(TaskSurv) If not NULL then passed to measures for computing estimate of censoring distribution on training data.

train_set

(numeric()) If not NULL then passed to measures for computing estimate of censoring distribution on training data.

proper

(logical(1)) Passed to MeasureSurvGraf or MeasureSurvIntLogloss.

Details

If times and n are missing then measure is evaluated over all observed time-points from the PredictionSurv or TaskSurv object. If a range is provided for times without n, then all time-points between the range are returned.

Examples

Run this code
# NOT RUN {
if (requireNamespace("ggplot2", quietly = TRUE)) {
  #' library(mlr3)
  task = tsk("rats")

  # Prediction Error Curves for prediction object
  learn = lrn("surv.coxph")
  p = learn$train(task)$predict(task)
  pecs(p)
  pecs(p, measure = "logloss", times = c(20, 40, 60, 80)) +
    ggplot2::geom_point() +
    ggplot2::ggtitle("Logloss Prediction Error Curve for Cox PH")

  # Access underlying data
  x = pecs(p)
  x$data

  # Prediction Error Curves for fitted learners
  learns = lrns(c("surv.kaplan", "surv.coxph"))
  lapply(learns, function(x) x$train(task))
  pecs(learns, task = task, measure = "logloss", times = c(20, 90), n = 10)
}
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab