context("AUC")
library(ROCket)
methods_tab <- roc_methods()
# ----------------------------------------------------
# Compare the calculated AUC using the exact formula
# with the approximated version
scenario_list <- list(
list(
scores = c(1, 2, 3, 4),
positives = c(0, 1, 0, 1),
totals = 1
),
list(
scores = c(1, 2, 3, 4),
positives = 10 * c(0, 1, 0, 1),
totals = 10
),
list(
scores = c(1, 2, 3, 4),
positives = c(4, 1, 3, 8),
totals = 10
)
,
list(
scores = rep(c(-0.262, -0.069, -0.379, 2.582, 0.13,
-0.713, 0.638, 0.202, -0.07, -0.092,
0.449, -1.064, -1.162, 1.649, -2.062,
0.013, -1.088, 0.271, 1.008, -2.074), each = 5),
positives = rep(c(0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1), each = 5),
totals = 1
)
)
for (i in seq_along(scenario_list)) {
scenario <- scenario_list[[i]]
for (j in 1:nrow(methods_tab)) {
method_nr <- methods_tab[j, nr]
test_that(sprintf("exact AUC is equal to integrated (S: %i, M: %i)", i, method_nr), {
prep <- do.call(rkt_prep, scenario)
roc <- rkt_roc(prep, method = method_nr)
expect_equal(auc(roc), auc(roc, exact = FALSE), tolerance = 0.0001)
})
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.