Learn R Programming

EIX (version 1.2.0)

waterfall: Explain prediction of a single observation

Description

This function calculates a table with influence of variables and interactions on the prediction of a given observation. It supports only xgboost models.

Usage

waterfall(
  xgb_model,
  new_observation,
  data,
  type = "binary",
  option = "interactions",
  baseline = 0
)

Arguments

xgb_model

a xgboost model.

new_observation

a new observation.

data

row from the original dataset with the new observation to explain (not one-hot-encoded). The param above has to be set to merge categorical features. If you dont wont to merge categorical features, set this parameter the same as new_observation.

type

the learning task of the model. Available tasks: "binary" for binary classification or "regression" for linear regression.

option

if "variables", the plot includes only single variables, if "interactions", then only interactions. Default "interaction".

baseline

a number or a character "Intercept" (for model intercept). The baseline for the plot, where the rectangles should start. Default 0.

Value

an object of the broken class

Details

The function contains code or pieces of code from breakDown code created by Przemys<U+0142>aw Biecek and xgboostExplainer code created by David Foster.

Examples

Run this code
# NOT RUN {
# }
# NOT RUN {
library("EIX")
library("Matrix")
sm <- sparse.model.matrix(left ~ . - 1,  data = HR_data)

library("xgboost")
param <- list(objective = "binary:logistic", max_depth = 2)
xgb_model <- xgboost(sm, params = param, label = HR_data[, left] == 1, nrounds = 25, verbose=0)

data <- HR_data[9,-7]
new_observation <- sm[9,]

wf <- waterfall(xgb_model, new_observation, data,  option = "interactions")
wf

plot(wf)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab