Learn R Programming

SHAPforxgboost (version 0.2.0)

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

Description

This is a convenience wrapper for predict(xgb_model, X_train, predinteraction = TRUE). See xgboost::predict.xgb.Booster for details. Note: This functionality is only available for XGBoost models, not LightGBM.

Usage

shap.prep.interaction(xgb_model, X_train)

Value

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

Arguments

xgb_model

a xgboost model object

X_train

the dataset of predictors used for the xgboost model

Examples

Run this code
# Example: SHAP interaction plots
# Shows how feature interactions affect predictions

X_iris = as.matrix(iris[,1:4])
y_iris = as.numeric(iris[[5]]) - 1  # Convert factor to numeric
dtrain = xgboost::xgb.DMatrix(data = X_iris, label = y_iris)
params = list(learning_rate = 1, min_split_loss = 0, reg_lambda = 0,
              objective = 'reg:squarederror', nthread = 1)
mod1 = xgboost::xgb.train(params = params, data = dtrain,
                          nrounds = 1, verbose = 0)

# Get interaction SHAP values (two methods):
data_int <- shap.prep.interaction(xgb_model = mod1, X_train = X_iris)
# Or directly:
shap_int <- predict(mod1, X_iris, predinteraction = TRUE)

# Plot interaction effects
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