# \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)
## BART model
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 )
# Single observation
decision_plot(model_exp, obs_num=1 )
#Multiple observation
decision_plot(model_exp, obs_num=10:40 )
# }
Run the code above in your browser using DataLab