View source: R/visualizer-lib-prediction.R
plot_pred_curve | R Documentation |
Plot ROC/PR curves or some summary thereof across experimental replicates.
plot_pred_curve(
fit_results = NULL,
eval_results = NULL,
eval_name = NULL,
eval_fun = "summarize_pred_curve",
eval_fun_options = NULL,
vary_params = NULL,
curve = c("ROC", "PR"),
show = c("line", "ribbon"),
...
)
fit_results |
A tibble, as returned by |
eval_results |
A list of result tibbles, as returned by
|
eval_name |
Name of |
eval_fun |
Character string, specifying the function used to compute
the data used for plotting if |
eval_fun_options |
List of named arguments to pass to |
vary_params |
A vector of |
curve |
Either "ROC" or "PR" indicating whether to plot the ROC or Precision-Recall curve. |
show |
Character vector with elements being one of "boxplot", "point", "line", "bar", "errorbar", "ribbon", "violin", indicating what plot layer(s) to construct. |
... |
Arguments passed on to
|
If interactive = TRUE
, returns a plotly
object if
plot_by
is NULL
and a list of plotly
objects if
plot_by
is not NULL
. If interactive = FALSE
, returns
a ggplot
object if plot_by
is NULL
and a list of
ggplot
objects if plot_by
is not NULL
.
Other prediction_error_funs:
eval_pred_curve_funs
,
eval_pred_err_funs
,
plot_pred_err()
# generate example fit_results data
fit_results <- tibble::tibble(
.rep = rep(1:2, times = 2),
.dgp_name = c("DGP1", "DGP1", "DGP2", "DGP2"),
.method_name = c("Method"),
# true response
y = lapply(1:4,
FUN = function(x) {
as.factor(sample(0:1, size = 100, replace = TRUE))
}),
# predicted class probabilities
class_probs = lapply(1:4, FUN = function(x) runif(n = 100, min = 0, max = 1))
)
# generate example eval_results data
eval_results <- list(
ROC = summarize_pred_curve(
fit_results, truth_col = "y", prob_cols = "class_probs", curve = "ROC"
),
PR = summarize_pred_curve(
fit_results, truth_col = "y", prob_cols = "class_probs", curve = "PR"
)
)
# create summary ROC/PR plots using pre-computed evaluation results
roc_plt <- plot_pred_curve(eval_results = eval_results,
eval_name = "ROC", curve = "ROC",
show = c("line", "ribbon"))
pr_plt <- plot_pred_curve(eval_results = eval_results,
eval_name = "PR", curve = "PR",
show = c("line", "ribbon"))
# or alternatively, create the same plots directly from fit results
roc_plt <- plot_pred_curve(fit_results = fit_results,
show = c("line", "ribbon"), curve = "ROC",
eval_fun_options = list(truth_col = "y",
prob_cols = "class_probs"))
pt_plt <- plot_pred_curve(fit_results = fit_results,
show = c("line", "ribbon"), curve = "PR",
eval_fun_options = list(truth_col = "y",
prob_cols = "class_probs"))
# can customize plot (see plot_eval_constructor() for possible arguments)
roc_plt <- plot_pred_curve(eval_results = eval_results,
eval_name = "ROC", curve = "ROC",
show = c("line", "ribbon"),
plot_by = ".dgp_name")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.