[R] add tests on print.xgb.DMatrix() (#8704)
This commit is contained in:
parent
9fb12b20a4
commit
0f4d52a864
@ -162,3 +162,56 @@ test_that("xgb.DMatrix: nrow is correct for a very sparse matrix", {
|
||||
dtest <- xgb.DMatrix(x)
|
||||
expect_equal(dim(dtest), dim(x))
|
||||
})
|
||||
|
||||
test_that("xgb.DMatrix: print", {
|
||||
data(agaricus.train, package = 'xgboost')
|
||||
|
||||
# core DMatrix with just data and labels
|
||||
dtrain <- xgb.DMatrix(
|
||||
data = agaricus.train$data
|
||||
, label = agaricus.train$label
|
||||
)
|
||||
txt <- capture.output({
|
||||
print(dtrain)
|
||||
})
|
||||
expect_equal(txt, "xgb.DMatrix dim: 6513 x 126 info: label colnames: yes")
|
||||
|
||||
# verbose=TRUE prints feature names
|
||||
txt <- capture.output({
|
||||
print(dtrain, verbose = TRUE)
|
||||
})
|
||||
expect_equal(txt[[1L]], "xgb.DMatrix dim: 6513 x 126 info: label colnames:")
|
||||
expect_equal(txt[[2L]], sprintf("'%s'", paste(colnames(dtrain), collapse = "','")))
|
||||
|
||||
# DMatrix with weights and base_margin
|
||||
dtrain <- xgb.DMatrix(
|
||||
data = agaricus.train$data
|
||||
, label = agaricus.train$label
|
||||
, weight = seq_along(agaricus.train$label)
|
||||
, base_margin = agaricus.train$label
|
||||
)
|
||||
txt <- capture.output({
|
||||
print(dtrain)
|
||||
})
|
||||
expect_equal(txt, "xgb.DMatrix dim: 6513 x 126 info: label weight base_margin colnames: yes")
|
||||
|
||||
# DMatrix with just features
|
||||
dtrain <- xgb.DMatrix(
|
||||
data = agaricus.train$data
|
||||
)
|
||||
txt <- capture.output({
|
||||
print(dtrain)
|
||||
})
|
||||
expect_equal(txt, "xgb.DMatrix dim: 6513 x 126 info: NA colnames: yes")
|
||||
|
||||
# DMatrix with no column names
|
||||
data_no_colnames <- agaricus.train$data
|
||||
colnames(data_no_colnames) <- NULL
|
||||
dtrain <- xgb.DMatrix(
|
||||
data = data_no_colnames
|
||||
)
|
||||
txt <- capture.output({
|
||||
print(dtrain)
|
||||
})
|
||||
expect_equal(txt, "xgb.DMatrix dim: 6513 x 126 info: NA colnames: no")
|
||||
})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user