R: Train a LightGBM model

lightgbm {lightgbm} | R Documentation

## Train a LightGBM model

### Description

Simple interface for training a LightGBM model.

### Usage

    lightgbm(
      data,
      label = NULL,
      weight = NULL,
      params = list(),
      nrounds = 100L,
      verbose = 1L,
      eval_freq = 1L,
      early_stopping_rounds = NULL,
      save_name = "lightgbm.model",
      init_model = NULL,
      callbacks = list(),
      ...
    )

### Arguments

`data` | 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.
`label` | Vector of labels, used if `data` is not an `lgb.Dataset`
`weight` | vector of response values. If not NULL, will set to dataset
`params` | a list of parameters. See the "Parameters" section of the documentation for a list of parameters and valid values.
`nrounds` | number of training rounds
`verbose` | verbosity for output, if <= 0, also will disable the print of evaluation during training
`eval_freq` | evaluation output frequency, only effect when verbose > 0
`early_stopping_rounds` | 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.
`save_name` | File name to use when writing the trained model to disk. Should end in ".model".
`init_model` | path of model file of `lgb.Booster` object, will continue training from this model
`callbacks` | List of callback functions that are applied at each iteration.
`...` | Additional arguments passed to `lgb.train`. For example `valids`: a list of `lgb.Dataset` objects, used for validation `obj`: objective function, can be character or custom objective function. Examples include `regression`, `regression_l1`, `huber`, `binary`, `lambdarank`, `multiclass`, `multiclass` `eval`: evaluation function, can be (a list of) character or custom eval function `record`: Boolean, TRUE will record iteration message to `booster$record_evals` `colnames`: feature names, if not null, will use this to overwrite the names in dataset `categorical_feature`: categorical features. This can either be a character vector of feature names or an integer vector with the indices of the features (e.g. `c(1L, 10L)` to say "the first and tenth columns"). `reset_data`: Boolean, setting it to TRUE (not the default value) will transform the booster model into a predictor model which frees up memory and the original datasets `boosting`: Boosting type. `"gbdt"`, `"rf"`, `"dart"` or `"goss"`. `num_leaves`: Maximum number of leaves in one tree. `max_depth`: Limit the max depth for tree model. This is used to deal with overfit when #data is small. Tree still grow by leaf-wise. `num_threads`: Number of threads for LightGBM. For the best speed, set this to the number of real CPU cores(`parallel::detectCores(logical = FALSE)`), not the number of threads (most CPU using hyper-threading to generate 2 threads per CPU core).

### Value

a trained `lgb.Booster`

### Early Stopping

"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`).

[Package lightgbm version 3.3.2 Index]