High-level R interface to train a LightGBM model. Unlike
lgb.train, this function
is focused on compatibility with other statistics and machine learning interfaces in R.
This focus on compatibility means that this interface may experience more frequent breaking API changes
For efficiency-sensitive applications, or for applications where breaking API changes across releases
is very expensive, use
lightgbm( data, label = NULL, weights = NULL, params = list(), nrounds = 100L, verbose = 1L, eval_freq = 1L, early_stopping_rounds = NULL, init_model = NULL, callbacks = list(), serializable = TRUE, objective = "regression", init_score = NULL, num_threads = NULL, ... )
Vector of labels, used if
Sample / observation weights for rows in the input data. If
a list of parameters. See the "Parameters" section of the documentation for a list of parameters and valid values.
number of training rounds
verbosity for output, if <= 0 and
evaluation output frequency, only effective when verbose > 0 and
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
path of model file or
List of callback functions that are applied at each iteration.
whether to make the resulting objects serializable through functions such as
Optimization objective (e.g. `"regression"`, `"binary"`, etc.). For a list of accepted objectives, see the "objective" item of the "Parameters" section of the documentation.
initial score is the base prediction lightgbm will boost from
Number of parallel threads to use. For best speed, this should be set to the number of physical cores in the CPU - in a typical x86-64 machine, this corresponds to half the number of maximum threads.
Be aware that using too many threads can result in speed degradation in smaller datasets (see the parameters documentation for more details).
If passing zero, will use the default number of threads configured for OpenMP
(typically controlled through an environment variable
This parameter gets overriden by
Additional arguments passed to
"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
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
params, that metric will be considered the "first" one. If you omit
a default metric will be used based on your choice for the parameter
obj (keyword argument)
objective (passed into