# \donttest{
## Friedman data
set.seed(2025)
n <- 200
p <- 5
X <- data.frame(matrix(runif(n * p), ncol = p))
y <- 10 * sin(pi* X[ ,1] * X[,2]) +20 * (X[,3] -.5)^2 + 10 * X[ ,4] + 5 * X[,5] + rnorm(n)
## Using dbarts
model <- dbarts::bart (X, y, keeptrees = TRUE, ndpost = 200)
# prediction wrapper function
pfun <- function (object, newdata) {
predict(object, newdata)
}
# Calculate shapley values
model_exp <- Explain(model, X = X, pred_wrapper=pfun)
# Waterfall plot of 100th observation
waterfall_plot(model_exp, obs_num=100)
# }
Run the code above in your browser using DataLab