Skip to content

Commit 328404c

Browse files
committed
high-level test for setting event_level
1 parent d3f3303 commit 328404c

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

tests/testthat/test_boost_tree_xgboost.R

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,3 +421,44 @@ test_that('argument checks for data dimensions', {
421421
expect_equal(xy_fit$fit$params$min_child_weight, nrow(penguins))
422422

423423
})
424+
425+
test_that("set `event_level` as engine-specific argument", {
426+
427+
skip_if_not_installed("xgboost")
428+
429+
data(penguins, package = "modeldata")
430+
penguins <- na.omit(penguins[, -c(1:2)])
431+
432+
spec <-
433+
boost_tree(trees = 10, tree_depth = 3) %>%
434+
set_engine(
435+
"xgboost",
436+
eval_metric = "aucpr",
437+
event_level = "second",
438+
verbose = 1
439+
) %>%
440+
set_mode("classification")
441+
442+
set.seed(24)
443+
fit_p <- spec %>% fit(sex ~ ., data = penguins)
444+
445+
penguins_x <- as.matrix(penguins[, -5])
446+
penguins_y <- as.numeric(penguins$sex) - 1
447+
xgbmat <- xgb.DMatrix(data = penguins_x, label = penguins_y)
448+
449+
set.seed(24)
450+
fit_xgb <- xgboost::xgb.train(data = xgbmat,
451+
params = list(eta = 0.3, max_depth = 3,
452+
gamma = 0, colsample_bytree = 1,
453+
min_child_weight = 1,
454+
subsample = 1),
455+
nrounds = 10,
456+
watchlist = list("training" = xgbmat),
457+
objective = "binary:logistic",
458+
verbose = 1,
459+
eval_metric = "aucpr",
460+
nthread = 1)
461+
462+
expect_equal(fit_p$fit$evaluation_log, fit_xgb$evaluation_log)
463+
464+
})

0 commit comments

Comments
 (0)