require(xgboost) context("monotone constraints") set.seed(1024) x = rnorm(1000, 10) y = -1*x + rnorm(1000, 0.001) + 3*sin(x) train = matrix(x, ncol = 1) test_that("monotone constraints for regression", { bst = xgboost(data = train, label = y, max_depth = 2, eta = 0.1, nthread = 2, nrounds = 100, verbose = 0, monotone_constraints = -1) pred = predict(bst, train) ind = order(train[,1]) pred.ord = pred[ind] expect_true({ !any(diff(pred.ord) > 0) }, "Monotone Contraint Satisfied") })