ingredients (version 0.3.1)

plot.ceteris_paribus_2d_explainer: Plot Ceteris Paribus 2D Explanations

Description

Function 'ceteris_paribus_2d_explainer' plots What-If Plots for a single prediction / observation.

Usage

# S3 method for ceteris_paribus_2d_explainer
plot(x, ..., split_ncol = NULL,
  add_raster = TRUE, add_contour = TRUE, bins = 3,
  add_observation = TRUE, pch = "+", size = 6)

Arguments

x

a ceteris paribus explainer produced with the 'ceteris_paribus_2d' function

...

currently will be ignored

split_ncol

number of columns for the 'facet_wrap'

add_raster

if TRUE then `geom_raster` will be added to present levels with diverging colors

add_contour

if TRUE then `geom_contour` will be added to present contours

bins

number of contours to be added

add_observation

if TRUE then `geom_point` will be added to present observation that is explained

pch

character, symbol used to plot observations

size

numeric, size of individual datapoints

Value

a ggplot2 object

References

Predictive Models: Visual Exploration, Explanation and Debugging https://pbiecek.github.io/PM_VEE

Examples

Run this code
# NOT RUN {
library("DALEX")
 
# }
# NOT RUN {
library("randomForest")
set.seed(59)

apartments_rf_model <- randomForest(m2.price ~ construction.year + surface + floor +
      no.rooms + district, data = apartments)

explainer_rf <- explain(apartments_rf_model,
      data = apartmentsTest[,2:6], y = apartmentsTest$m2.price)

new_apartment <- apartmentsTest[1, ]
new_apartment

wi_rf_2d <- ceteris_paribus_2d(explainer_rf, observation = new_apartment)
head(wi_rf_2d)

plot(wi_rf_2d)
plot(wi_rf_2d, add_contour = FALSE)
plot(wi_rf_2d, add_observation = FALSE)
plot(wi_rf_2d, add_raster = FALSE)

# HR data
model <- randomForest(status ~ gender + age + hours + evaluation + salary, data = HR)
pred1 <- function(m, x)   predict(m, x, type = "prob")[,1]
explainer_rf_fired <- explain(model, data = HR[,1:5],
   y = HR$status == "fired",
   predict_function = pred1, label = "fired")

new_emp <- HR[1, ]
new_emp

wi_rf_2d <- ceteris_paribus_2d(explainer_rf_fired, observation = new_emp)
head(wi_rf_2d)

plot(wi_rf_2d)
# }

Run the code above in your browser using DataCamp Workspace