| name | vip |
| description | R vip package for variable importance. Use for computing and visualizing variable importance scores. |
vip
Variable Importance Plots.
Basic Usage
library(vip)
vip(model)
vip(model, num_features = 10)
Importance Methods
vip(model, method = "model")
vip(model, method = "permute",
train = train_data,
target = "y",
metric = "rmse")
vip(model, method = "shap",
train = train_data)
vip(model, method = "firm",
train = train_data)
Permutation Importance
vi_perm <- vi_permute(
model,
train = train_data,
target = "y",
metric = "rmse",
nsim = 10
)
vip(vi_perm)
SHAP Importance
vi_shap <- vi_shap(
model,
train = train_data
)
vip(vi_shap)
Custom Metrics
my_metric <- function(actual, predicted) {
mean(abs(actual - predicted))
}
vi_permute(model, train = train_data, target = "y",
metric = my_metric)
Partial Dependence
library(pdp)
partial(model, pred.var = "age", train = train_data) %>%
autoplot()
partial(model, pred.var = c("age", "income"), train = train_data) %>%
autoplot()
Extract Importance
vi(model)
vi_model(model)
vi(model) %>%
arrange(desc(Importance))
Plotting Options
vip(model,
num_features = 10,
geom = "point",
aesthetics = list(
color = "steelblue",
fill = "steelblue"
))
vip(model, horizontal = TRUE)
vip(model, include_type = TRUE)
Multiple Models
vi1 <- vi(model1)
vi2 <- vi(model2)
library(ggplot2)
bind_rows(
mutate(vi1, model = "Model 1"),
mutate(vi2, model = "Model 2")
) %>%
ggplot(aes(x = reorder(Variable, Importance), y = Importance, fill = model)) +
geom_col(position = "dodge") +
coord_flip()