根据训练数据构建验证数据

lgb.Dataset.create.valid(
  dataset,
  data,
  label = NULL,
  weight = NULL,
  group = NULL,
  init_score = NULL,
  params = list()
)

参数

dataset

lgb.Dataset 对象,训练数据

data

一个 matrix 对象、一个 dgCMatrix 对象、一个表示文本文件(CSV、TSV 或 LibSVM 格式)路径的字符串,或一个表示二进制 Dataset 文件路径的字符串

label

用于作为目标变量的标签向量

weight

样本权重的数值向量

group

用于排序学习任务。一个整数向量,描述如何将行分组在一起,作为来自同一组待排序候选结果的有序结果。例如,如果你有一个包含 100 个文档的数据集,group = c(10, 20, 40, 10, 10, 10),这意味着你有 6 个组,其中前 10 条记录属于第一组,记录 11-30 属于第二组,依此类推。

init_score

初始分数是 LightGBM 将基于其进行提升的起始预测值

params

参数列表。请参阅文档的“数据集参数”部分获取参数列表和有效值。如果这是一个空列表(默认值),则验证 Dataset 将具有与传递给参数 dataset 的 Dataset 相同的参数。

返回值

构建好的数据集

示例

# \donttest{
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
data(agaricus.test, package = "lightgbm")
test <- agaricus.test
dtest <- lgb.Dataset.create.valid(dtrain, test$data, label = test$label)

# parameters can be changed between the training data and validation set,
# for example to account for training data in a text file with a header row
# and validation data in a text file without it
train_file <- tempfile(pattern = "train_", fileext = ".csv")
write.table(
  data.frame(y = rnorm(100L), x1 = rnorm(100L), x2 = rnorm(100L))
  , file = train_file
  , sep = ","
  , col.names = TRUE
  , row.names = FALSE
  , quote = FALSE
)

valid_file <- tempfile(pattern = "valid_", fileext = ".csv")
write.table(
  data.frame(y = rnorm(100L), x1 = rnorm(100L), x2 = rnorm(100L))
  , file = valid_file
  , sep = ","
  , col.names = FALSE
  , row.names = FALSE
  , quote = FALSE
)

dtrain <- lgb.Dataset(
  data = train_file
  , params = list(has_header = TRUE)
)
dtrain$construct()
#> [LightGBM] [Info] Construct bin mappers from text data time 0.00 seconds

dvalid <- lgb.Dataset(
  data = valid_file
  , params = list(has_header = FALSE)
)
dvalid$construct()
#> [LightGBM] [Info] Construct bin mappers from text data time 0.00 seconds
# }