根据训练数据构建验证数据
lgb.Dataset.create.valid(
dataset,
data,
label = NULL,
weight = NULL,
group = NULL,
init_score = NULL,
params = list()
)
lgb.Dataset
对象,训练数据
一个 matrix
对象、一个 dgCMatrix
对象、一个表示文本文件(CSV、TSV 或 LibSVM 格式)路径的字符串,或一个表示二进制 Dataset
文件路径的字符串
用于作为目标变量的标签向量
样本权重的数值向量
用于排序学习任务。一个整数向量,描述如何将行分组在一起,作为来自同一组待排序候选结果的有序结果。例如,如果你有一个包含 100 个文档的数据集,group = c(10, 20, 40, 10, 10, 10)
,这意味着你有 6 个组,其中前 10 条记录属于第一组,记录 11-30 属于第二组,依此类推。
初始分数是 LightGBM 将基于其进行提升的起始预测值
参数列表。请参阅文档的“数据集参数”部分获取参数列表和有效值。如果这是一个空列表(默认值),则验证 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
# }