knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, message = FALSE, error = FALSE )
Explaining classification models with the
localModel package is just as simple as explaining regression.
It is enough to work with predicted scores (class probabilities) rather than classes.
In multiclass setting, a separate explanation is provided for each class probability.
We will work with the
HR dataset from
As in the regression example from Introduction to the localModel package, we will first create a random forest model and a
Details about the method can be found in the Methodology behind localModel package vignette.
library(DALEX) library(randomForest) library(localModel) data('HR') set.seed(17) mrf <- randomForest(status ~., data = HR, ntree = 100) explainer <- explain(mrf, HR[, -6], predict_function = function(x, y) predict(x, y, type = "prob")) new_observation <- HR[10, -6] new_observation
DALEX2, we have built-in predict functions for some types of models. Random Forest is among these models.
model_lok <- individual_surrogate_model(explainer, new_observation, size = 500, seed = 17) plot(model_lok) plot(model_lok, geom = "bar")
The plot shows how predictions for different classes are influenced by different features. For the actually predicted class, hours and evaluation have a strong positive effect.