Parameter docs shared by lgb.train
, lgb.cv
, and lightgbm
List of callback functions that are applied at each iteration.
a lgb.Dataset
object, used for training. Some functions, such as lgb.cv
,
may allow you to pass other types of data like matrix
and then separately supply
label
as a keyword argument.
int. Activates early stopping. When this parameter is non-null,
training will stop if the evaluation of any metric on any validation set
fails to improve for early_stopping_rounds
consecutive boosting rounds.
If training stops early, the returned model will have attribute best_iter
set to the iteration number of the best iteration.
evaluation function(s). This can be a character vector, function, or list with a mixture of strings and functions.
a. character vector: If you provide a character vector to this argument, it should contain strings with valid evaluation metrics. See The "metric" section of the documentation for a list of valid metrics.
b. function:
You can provide a custom evaluation function. This
should accept the keyword arguments preds
and dtrain
and should return a named
list with three elements:
name
: A string with the name of the metric, used for printing
and storing results.
value
: A single number indicating the value of the metric for the
given predictions and true values
higher_better
: A boolean indicating whether higher values indicate a better fit.
For example, this would be FALSE
for metrics like MAE or RMSE.
c. list: If a list is given, it should only contain character vectors and functions. These should follow the requirements from the descriptions above.
evaluation output frequency, only effect when verbose > 0
path of model file of lgb.Booster
object, will continue training from this model
number of training rounds
objective function, can be character or custom objective function. Examples include
regression
, regression_l1
, huber
,
binary
, lambdarank
, multiclass
, multiclass
a list of parameters. See the "Parameters" section of the documentation for a list of parameters and valid values.
verbosity for output, if <= 0, also will disable the print of evaluation during training
"early stopping" refers to stopping the training process if the model's performance on a given validation set does not improve for several consecutive iterations.
If multiple arguments are given to eval
, their order will be preserved. If you enable
early stopping by setting early_stopping_rounds
in params
, by default all
metrics will be considered for early stopping.
If you want to only consider the first metric for early stopping, pass
first_metric_only = TRUE
in params
. Note that if you also specify metric
in params
, that metric will be considered the "first" one. If you omit metric
,
a default metric will be used based on your choice for the parameter obj
(keyword argument)
or objective
(passed into params
).