跳到内容

获取或设置 xgb.DMatrix 和 xgb.Booster 对象的信息

用法

# S3 method for class 'xgb.Booster'
getinfo(object, name)

# S3 method for class 'xgb.Booster'
setinfo(object, name, info)

getinfo(object, name)

# S3 method for class 'xgb.DMatrix'
getinfo(object, name)

setinfo(object, name, info)

# S3 method for class 'xgb.DMatrix'
setinfo(object, name, info)

参数

对象

xgb.DMatrixxgb.Booster 类的对象。

名称

要获取的信息字段的名称(详见)。

信息

要设置的特定信息字段。

对于 getinfo(),将返回请求的字段。对于 setinfo(),如果成功,将始终返回 TRUE 值。

详细信息

对于 xgb.DMatrixname 字段可以是以下之一

  • label

  • weight

  • base_margin

  • label_lower_bound

  • label_upper_bound

  • feature_type

  • feature_name

  • nrow

有关这些字段的更多信息,请参阅 xgb.DMatrix() 的文档。

对于 xgb.Booster,可以是以下之一

  • feature_type

  • feature_name

请注意,虽然无法检索“qid”,但对于分配了“qid”的 DMatrix,可以获取等效的“group”。

重要:调用 setinfo() 时,对象将原地修改。有关此原地赋值工作原理的说明,请参阅 xgb.copy.Booster()

有关可以设置的字段(与该函数中的参数相对应),请参阅 xgb.DMatrix() 的文档。

请注意,以下字段允许在构建 xgb.DMatrix 时使用,但不允许在此处使用

  • 数据

  • missing

  • silent

  • nthread

示例

data(agaricus.train, package = "xgboost")

dtrain <- with(agaricus.train, xgb.DMatrix(data, label = label, nthread = 2))

labels <- getinfo(dtrain, "label")
setinfo(dtrain, "label", 1 - labels)

labels2 <- getinfo(dtrain, "label")
stopifnot(all(labels2 == 1 - labels))
data(agaricus.train, package = "xgboost")

dtrain <- with(agaricus.train, xgb.DMatrix(data, label = label, nthread = 2))

labels <- getinfo(dtrain, "label")
setinfo(dtrain, "label", 1 - labels)

labels2 <- getinfo(dtrain, "label")
stopifnot(all.equal(labels2, 1 - labels))