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
- x
(PredictionSurv or
list
of LearnerSurvs)- measure
(
character(1)
)
Either"graf"
for MeasureSurvGraf, or"logloss"
for MeasureSurvIntLogloss- times
(
numeric()
)
If provided then either a vector of time-points to evaluatemeasure
or a range of time-points.- n
(
integer()
)
Iftimes
is missing or given as a range, thenn
provide number of time-points to evaluatemeasure
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
(TaskSurv)
- row_ids
(
integer()
)
Passed toLearner$predict
.- newdata
(
data.frame()
)
If not missingLearner$predict_newdata
is called instead ofLearner$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
if (FALSE) {
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)
}
}