test_that("trigger all", {
N = 10L
truth = 1 + runif(N)
response = 1 + runif(N)
tol = sqrt(.Machine$double.eps)
for (m in as.list(measures)) {
if (m$type != "regr") {
next
}
f = match.fun(m$id)
perf = f(truth = truth, response = response)
if (m$aggregated) {
expect_number(perf, na.ok = FALSE, lower = m$lower - tol, upper = m$upper + tol, label = m$id)
} else {
expect_numeric(perf, any.missing = FALSE, lower = m$lower - tol, upper = m$upper + tol, label = m$id)
}
if ("sample_weights" %in% names(formals(f))) {
sample_weights = runif(length(truth))
perf = f(truth = truth, response = response, sample_weights = sample_weights)
expect_number(perf, na.ok = FALSE, lower = m$lower - tol, upper = m$upper + tol, label = m$id)
}
}
})
test_that("tests from Metrics", {
expect_equal(bias(1, 1), 0)
expect_equal(bias(c(-1, -100, 17.5), c(0, 0, 0)), mean(c(-1, -100, 17.5)))
expect_equal(pbias(c(1, 2, 3), c(1, 3, 2)), mean(c(0, -1 / 2, 1 / 3)))
expect_equal(pbias(c(1, 2, 0), c(1, 2, 1)), NaN)
expect_equal(pbias(0, 0), NaN)
expect_equal(pbias(c(-1.1, 1.1), c(-1, 1)), 0)
expect_equal(se(3.4, 4.4), 1)
expect_equal(se(9:11, 11:9), c(4, 0, 4))
expect_equal(sse(c(1, 3, 2), c(2, 3, 4)), 5)
expect_equal(mse(1:4, c(2, 3, 4, 4)), 3 / 4)
expect_equal(rmse(1:4, c(1, 2, 3, 5)), sqrt(1 / 4))
expect_equal(rmse(1:4, 1:4), 0)
expect_equal(ae(3.4, 4.4), 1)
expect_equal(ae(9:11, 11:9), c(2, 0, 2))
expect_equal(mae(1:4, c(1, 2, 3, 5)), 0.25)
expect_equal(medae(1:4, c(1, 2, 4, 50)), 0.5)
expect_equal(ape(0:3, 1:4), c(Inf, 1, 1 / 2, 1 / 3))
expect_equal(ape(0:2, c(0, 0, 0)), c(NaN, 1, 1))
expect_equal(ape(c(-1.1, 1.1), c(-1, 1)), c(1 / 11, 1 / 11))
expect_equal(mape(1:3, 2:4), mean(c(1, 1 / 2, 1 / 3)))
expect_equal(mape(c(-1.1, 1.1), c(-1, 1)), 1 / 11)
expect_equal(smape(0, 0), NaN)
expect_equal(smape(1, -1), 2)
expect_equal(smape(1, 0), 2)
expect_equal(smape(c(1, 2, 3), c(2, 5, 4)), smape(c(2, 5, 4), c(1, 2, 3)))
expect_equal(sle(c(0, 1, 3.4), c(1, 0, 3.4)), c(log(2), log(2), 0)^2)
expect_equal(sle(exp(2) - 1, exp(1) - 1), 1)
expect_equal(msle(c(1, 2, exp(1) - 1), c(1, 2, exp(2) - 1)), 1 / 3)
expect_equal(rmsle(c(exp(5) - 1), c(exp(1) - 1)), 4)
expect_equal(rae(0:10, 30:40), 11)
expect_equal(rae(seq(0, 2, 0.5), seq(0, 2, 0.5)), 0.0)
expect_equal(rae(1:4, c(1, 2, 3, 5)), 0.25)
expect_equal(rrse(0:10, 2:12), sqrt(0.4))
expect_equal(rrse(seq(0, 2, 0.5), seq(0, 2, 0.5)), 0.0)
expect_equal(rrse(1:4, c(1, 2, 3, 5)), sqrt(0.2))
expect_equal(rse(0:10, 2:12), 0.4)
expect_equal(rse(seq(0, 2, 0.5), seq(0, 2, 0.5)), 0.0)
expect_equal(rse(1:4, c(1, 2, 3, 5)), 0.2)
expect_equal(rsq(0:10, 2:12), 0.6)
expect_equal(rsq(seq(0, 2, 0.5), seq(0, 2, 0.5)), 1.0)
expect_equal(rsq(1:4, c(1, 2, 3, 5)), 0.8)
expect_equal(pinball(1:3, 1:3), 0)
expect_equal(pinball(1:3, c(0, 2, 3)), 1 / 6)
expect_equal(pinball(1:3, c(1, 2, 4)), 1 / 6)
expect_equal(pinball(1:3, c(1, 2, 4), alpha = 0.1), 0.3)
expect_equal(pinball(1:3, c(1, 2, 4), alpha = 0.4), 0.2)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.