Create a Calibration Curve
Usage
create_calibration_curve(
probs,
reals,
interactive = TRUE,
color_values = c("#1b9e77", "#d95f02", "#7570b3", "#e7298a", "#07004D", "#E6AB02",
"#FE5F55", "#54494B", "#006E90", "#BC96E6", "#52050A", "#1F271B", "#BE7C4D",
"#63768D", "#08A045", "#320A28", "#82FF9E", "#2176FF", "#D1603D", "#585123"),
type = "discrete",
size = NULL
)
Arguments
- probs
a list of vectors of estimated probabilities (one for each model or one for each population)
- reals
a list of vectors of binary outcomes (one for each population)
- interactive
whether the plot should be interactive plots
- color_values
color palette
- type
discrete or smooth
- size
the size of the curve
Examples
if (FALSE) {
create_calibration_curve(
probs = list(example_dat$estimated_probabilities),
reals = list(example_dat$outcome), type = "discrete"
)
create_calibration_curve(
probs = list(example_dat$estimated_probabilities),
reals = list(example_dat$outcome), type = "smooth"
)
# Several Models
create_calibration_curve(
probs = list(
"First Model" = example_dat$estimated_probabilities,
"Second Model" = example_dat$random_guess
),
reals = list(example_dat$outcome),
type = "discrete"
)
create_calibration_curve(
probs = list(
"First Model" = example_dat$estimated_probabilities,
"Second Model" = example_dat$random_guess
),
reals = list(example_dat$outcome),
type = "smooth"
)
# Several Populations
create_calibration_curve(
probs = list(
"train" = example_dat %>%
dplyr::filter(type_of_set == "train") %>%
dplyr::pull(estimated_probabilities),
"test" = example_dat %>% dplyr::filter(type_of_set == "test") %>%
dplyr::pull(estimated_probabilities)
),
reals = list(
"train" = example_dat %>% dplyr::filter(type_of_set == "train") %>%
dplyr::pull(outcome),
"test" = example_dat %>% dplyr::filter(type_of_set == "test") %>%
dplyr::pull(outcome)
),
type = "discrete"
)
create_calibration_curve(
probs = list(
"train" = example_dat %>%
dplyr::filter(type_of_set == "train") %>%
dplyr::pull(estimated_probabilities),
"test" = example_dat %>% dplyr::filter(type_of_set == "test") %>%
dplyr::pull(estimated_probabilities)
),
reals = list(
"train" = example_dat %>% dplyr::filter(type_of_set == "train") %>%
dplyr::pull(outcome),
"test" = example_dat %>% dplyr::filter(type_of_set == "test") %>%
dplyr::pull(outcome)
),
type = "smooth"
)
}