Learn R Programming

SHAPforxgboost (version 0.0.2)

shap.prep.interaction: prepare the interaction SHAP values from predict.xgb.Booster

Description

This function just runs shap_int <- predict(xgb_mod, as.matrix(X_train), predinteraction = TRUE), may not be necessary, maybe just use xgboost::predict.xgb.Booster directly,

Usage

shap.prep.interaction(xgb_model, X_train)

Arguments

xgb_model

a xgboost model object

X_train

the dataset of predictors used for the xgboost model

Value

a 3-dimention array: #obs x #features x #features

Examples

Run this code
# NOT RUN {
# To get the interaction SHAP dataset for plotting:
# fit the xgboost model
mod1 = xgboost::xgboost(
  data = as.matrix(iris[,-5]), label = iris$Species,
  gamma = 0, eta = 1, lambda = 0,nrounds = 1, verbose = FALSE)
# Use either:
data_int <- shap.prep.interaction(xgb_mod = mod1,
                                  X_train = as.matrix(iris[,-5]))
# or:
shap_int <- predict(mod1, as.matrix(iris[,-5]),
                    predinteraction = TRUE)

# **SHAP interaction effect plot **
shap.plot.dependence(data_long = shap_long_iris,
                           data_int = shap_int_iris,
                           x="Petal.Length",
                           y = "Petal.Width",
                           color_feature = "Petal.Width")
# }

Run the code above in your browser using DataLab