R: Compute feature contribution of prediction

lgb.interprete {lightgbm} | R Documentation

## Compute feature contribution of prediction

### Description

Computes feature contribution components of rawscore prediction.

### Usage

    lgb.interprete(model, data, idxset, num_iteration = NULL)

### Arguments

`model` | object of class `lgb.Booster`.
`data` | a matrix object or a dgCMatrix object.
`idxset` | an integer vector of indices of rows needed.
`num_iteration` | number of iteration want to predict with, NULL or <= 0 means use best iteration.

### Value

For regression, binary classification and lambdarank model, a `list` of `data.table` with the following columns:

- `Feature`: Feature names in the model.

- `Contribution`: The total contribution of this feature's splits.

For multiclass classification, a `list` of `data.table` with the Feature column and Contribution columns to each class.

### Examples

    Logit <- function(x) log(x / (1.0 - x))
    data(agaricus.train, package = "lightgbm")
    train <- agaricus.train
    dtrain <- lgb.Dataset(train$data, label = train$label)
    set_field(
      dataset = dtrain
      , field_name = "init_score"
      , data = rep(Logit(mean(train$label)), length(train$label))
    )
    data(agaricus.test, package = "lightgbm")
    test <- agaricus.test

    params <- list(
        objective = "binary"
        , learning_rate = 0.1
        , max_depth = -1L
        , min_data_in_leaf = 1L
        , min_sum_hessian_in_leaf = 1.0
    )
    model <- lgb.train(
        params = params
        , data = dtrain
        , nrounds = 3L
    )

    tree_interpretation <- lgb.interprete(model, test$data, 1L:5L)

[Package lightgbm version 3.3.2 Index]