# NOT RUN {
have_shap <- reticulate::py_module_available("shap")
if(have_shap){
library("shapper")
library("DALEX")
library("randomForest")
Y_train <- HR$status
x_train <- HR[ , -6]
set.seed(123)
model_rf <- randomForest(x = x_train, y = Y_train, ntree = 50)
p_function <- function(model, data) predict(model, newdata = data, type = "prob")
ive_rf <- individual_variable_effect(model_rf, data = x_train, predict_function = p_function,
new_observation = x_train[1:2,], nsamples = 50)
pl1 <- plot(ive_rf, bar_width = 4)
pl2 <- plot(ive_rf, bar_width = 4, show_predicted = FALSE)
pl3 <- plot(ive_rf, bar_width = 4, show_predicted = FALSE,
cols = c("id","ylevel"), rows = "label")
print(pl1)
print(pl2)
print(pl3)
} else {
print('Python testing environment is required.')
}
# }
Run the code above in your browser using DataLab