Compute the strength of twoway interaction effects. For details, see the reference below.
vint( object, feature_names, progress = "none", parallel = FALSE, paropts = NULL, ... )
object  A fitted model object (e.g., a 

feature_names  Character string giving the names of the two features of interest. 
progress  Character string giving the name of the progress bar to use
while constructing the interaction statistics. See

parallel  Logical indicating whether or not to run 
paropts  List containing additional options to be passed onto

...  Additional optional arguments to be passed onto

This function quantifies the strength of interaction between features $X_1$ and $X_2$ by measuring the change in variance along slices of the partial dependence of $X_1$ and $X_2$ on the target $Y$. See Greenwell et al. (2018) for details and examples.
Greenwell, B. M., Boehmke, B. C., and McCarthy, A. J.: A Simple and Effective ModelBased Variable Importance Measure. arXiv preprint arXiv:1805.04755 (2018).
if (FALSE) { # # The Friedman 1 benchmark problem # # Load required packages library(gbm) library(ggplot2) library(mlbench) # Generate training data set.seed(101) # for reproducibility friedman1 < as.data.frame(mlbench.friedman1(500, sd = 0.1)) # # NOTE: The only interaction that actually occurs in the model from which # these data are generated is between x.1 and x.2! # # Fit a GBM to the training data set.seed(102) # for reproducibility fit < gbm(y ~ ., data = friedman1, distribution = "gaussian", n.trees = 1000, interaction.depth = 2, shrinkage = 0.01, bag.fraction = 0.8, cv.folds = 5) best_iter < gbm.perf(fit, plot.it = FALSE, method = "cv") # Quantify relative interaction strength all_pairs < combn(paste0("x.", 1:10), m = 2) res < NULL for (i in seq_along(all_pairs)) { interact < vint(fit, feature_names = all_pairs[, i], n.trees = best_iter) res < rbind(res, interact) } # Plot top 20 results top_20 < res[1:20, ] ggplot(top_20, aes(x = reorder(Variables, Interaction), y = Interaction)) + geom_col() + coord_flip() + xlab("") + ylab("Interaction strength") }