Set one attribute of a lgb.Dataset

set_field(dataset, field_name, data)

# S3 method for lgb.Dataset
set_field(dataset, field_name, data)

Arguments

dataset

Object of class lgb.Dataset

field_name

String with the name of the attribute to set. One of the following.

  • label: label lightgbm learns from ;

  • weight: to do a weight rescale ;

  • group: used for learning-to-rank tasks. An integer vector describing how to group rows together as ordered results from the same set of candidate results to be ranked. For example, if you have a 100-document dataset with group = c(10, 20, 40, 10, 10, 10), that means that you have 6 groups, where the first 10 records are in the first group, records 11-30 are in the second group, etc.

  • init_score: initial score is the base prediction lightgbm will boost from.

data

The data for the field. See examples.

Value

The lgb.Dataset you passed in.

Examples

# \donttest{
setLGBMthreads(2L)
data.table::setDTthreads(1L)
data(agaricus.train, package = "lightgbm")
train <- agaricus.train
dtrain <- lgb.Dataset(train$data, label = train$label)
lgb.Dataset.construct(dtrain)

labels <- lightgbm::get_field(dtrain, "label")
lightgbm::set_field(dtrain, "label", 1 - labels)

labels2 <- lightgbm::get_field(dtrain, "label")
stopifnot(all.equal(labels2, 1 - labels))
# }