test_that("no calibration works - data.frame", {
skip_if_not_installed("modeldata")
## Regression
nope_reg <- cal_estimate_none(boosting_predictions_oob, outcome)
expect_cal_type(nope_reg, "regression")
expect_cal_method(nope_reg, "No calibration")
expect_cal_rows(nope_reg, 2000)
expect_snapshot(print(nope_reg))
expect_equal(
cal_apply(boosting_predictions_oob, nope_reg),
boosting_predictions_oob
)
reg_group_data <- boosting_predictions_oob |>
dplyr::mutate(group = .pred > 0.5)
nope_reg_group <- cal_estimate_none(reg_group_data, outcome, .by = group)
expect_cal_type(nope_reg_group, "regression")
expect_cal_method(nope_reg_group, "No calibration")
expect_cal_rows(nope_reg_group, 2000)
expect_snapshot(print(nope_reg_group))
expect_equal(
cal_apply(reg_group_data, nope_reg_group),
reg_group_data
)
expect_snapshot_error(
boosting_predictions_oob |>
dplyr::mutate(group1 = 1, group2 = 2) |>
cal_estimate_none(outcome, .by = c(group1, group2))
)
expect_snapshot_error(
cal_estimate_none(boosting_predictions_oob, outcome, smooth = TRUE)
)
## Binary classification
nope_binary <- cal_estimate_none(segment_logistic, Class)
expect_cal_type(nope_binary, "binary")
expect_cal_method(nope_binary, "No calibration")
expect_cal_rows(nope_binary)
expect_snapshot(print(nope_binary))
expect_equal(
cal_apply(segment_logistic, nope_binary),
segment_logistic
)
expect_snapshot_error(
segment_logistic |> cal_estimate_none(truth = Class, estimate = .pred_poor)
)
expect_snapshot_error(
segment_logistic |>
dplyr::mutate(group1 = 1, group2 = 2) |>
cal_estimate_none(Class, .by = c(group1, group2))
)
## Multinomial classification
nope_multi <- cal_estimate_none(species_probs, Species)
expect_cal_type(nope_multi, "multiclass")
expect_cal_method(nope_multi, "No calibration")
expect_cal_rows(nope_multi, n = 110)
expect_snapshot(print(nope_multi))
expect_equal(
cal_apply(species_probs, nope_multi),
species_probs
)
expect_snapshot_error(
species_probs |>
dplyr::mutate(group1 = 1, group2 = 2) |>
cal_estimate_none(Species, .by = c(group1, group2))
)
})
test_that("no calibration works - tune_results", {
skip_if_not_installed("modeldata")
## Regression
reg_pred <- collect_predictions(testthat_cal_reg())
nope_reg <- cal_estimate_none(testthat_cal_reg(), outcome)
expect_cal_type(nope_reg, "regression")
expect_cal_method(nope_reg, "No calibration")
expect_snapshot(print(nope_reg))
expect_equal(
cal_apply(reg_pred, nope_reg),
reg_pred
)
expect_snapshot_error(
cal_estimate_none(testthat_cal_reg(), outcome, do_something = FALSE)
)
## Binary classification
binary_pred <- collect_predictions(testthat_cal_binary())
nope_binary <- cal_estimate_none(testthat_cal_binary())
expect_cal_type(nope_binary, "binary")
expect_cal_method(nope_binary, "No calibration")
expect_snapshot(print(nope_binary))
expect_equal(
cal_apply(binary_pred, nope_binary),
binary_pred
)
## Multinomial classification
multi_pred <- collect_predictions(testthat_cal_multiclass())
nope_multi <- cal_estimate_none(testthat_cal_multiclass())
expect_cal_type(nope_multi, "multiclass")
expect_cal_method(nope_multi, "No calibration")
expect_snapshot(print(nope_multi))
expect_equal(
cal_apply(multi_pred, nope_multi),
multi_pred
)
})
test_that("no calibration fails - grouped_df", {
expect_snapshot_error(
cal_estimate_none(dplyr::group_by(mtcars, vs))
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.