View source: R/unify_lightgbm.R
| lightgbm.unify | R Documentation | 
Convert your LightGBM model into a standardized representation.
The returned representation is easy to be interpreted by the user and ready to be used as an argument in treeshap() function.
lightgbm.unify(lgb_model, data, recalculate = FALSE)
| lgb_model | A lightgbm model - object of class  | 
| data | Reference dataset. A  | 
| recalculate | logical indicating if covers should be recalculated according to the dataset given in data. Keep it  | 
a unified model representation - a model_unified.object object
gbm.unify for GBM models
xgboost.unify for XGBoost models
ranger.unify for ranger models
randomForest.unify for randomForest models
library(lightgbm)
param_lgbm <- list(objective = "regression", max_depth = 2,
                   force_row_wise = TRUE, num_iterations = 20)
data_fifa <- fifa20$data[!colnames(fifa20$data) %in%
             c('work_rate', 'value_eur', 'gk_diving', 'gk_handling',
             'gk_kicking', 'gk_reflexes', 'gk_speed', 'gk_positioning')]
data <- na.omit(cbind(data_fifa, fifa20$target))
sparse_data <- as.matrix(data[,-ncol(data)])
x <- lightgbm::lgb.Dataset(sparse_data, label = as.matrix(data[,ncol(data)]))
lgb_data <- lightgbm::lgb.Dataset.construct(x)
lgb_model <- lightgbm::lightgbm(data = lgb_data, params = param_lgbm,
                                verbose = -1, num_threads = 0)
unified_model <- lightgbm.unify(lgb_model, sparse_data)
shaps <- treeshap(unified_model, data[1:2, ])
plot_contribution(shaps, obs = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.