跳到内容

获取或设置 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)

参数

object

xgb.DMatrixxgb.Booster 类的对象。

name

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

info

要设置的特定信息字段。

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

详细信息

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

  • label

  • weight

  • base_margin

  • label_lower_bound

  • label_upper_bound

  • group

  • 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 时允许使用以下字段,但不允许在此处使用

  • data

  • 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))