showWaterfall: Step 3: Get prediction breakdown and waterfall chart for a...

Description Usage Arguments Value Examples

Description

This function prints the feature impact breakdown for a single data row, and plots an accompanying waterfall chart.

Usage

1
2
showWaterfall(xgb.model, explainer, DMatrix, data.matrix, idx,
  type = "binary", threshold = 1e-04, limits = c(NA, NA))

Arguments

xgb.model

A trained xgboost model

explainer

The output from the buildExplainer function, for this model

DMatrix

The DMatrix in which the row to be predicted is stored

data.matrix

The matrix of data from which the DMatrix was built

idx

The row number of the data to be explained

type

The objective function of the model - either "binary" (for binary:logistic) or "regression" (for reg:linear)

threshold

Default = 0.0001. The waterfall chart will group all variables with absolute impact less than the threshold into a variable called 'Other'

limits

The limits of the y axis - for binary this is on logit scale (e.g. c(-3,3) would give a scale approximately from 0.04 to 0.96)

Value

None

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
library(xgboost)
library(xgboostExplainer)

set.seed(123)

data(agaricus.train, package='xgboost')

X = as.matrix(agaricus.train$data)
y = agaricus.train$label

train_idx = 1:5000

train.data = X[train_idx,]
test.data = X[-train_idx,]

xgb.train.data <- xgb.DMatrix(train.data, label = y[train_idx])
xgb.test.data <- xgb.DMatrix(test.data)

param <- list(objective = "binary:logistic")
xgb.model <- xgboost(param =param,  data = xgb.train.data, nrounds=3)

col_names = colnames(X)

pred.train = predict(xgb.model,X)
nodes.train = predict(xgb.model,X,predleaf =TRUE)
trees = xgb.model.dt.tree(col_names, model = xgb.model)

#### The XGBoost Explainer
explainer = buildExplainer(xgb.model,xgb.train.data, type="binary", base_score = 0.5, trees = NULL)
pred.breakdown = explainPredictions(xgb.model, explainer, xgb.test.data)

showWaterfall(xgb.model, explainer, xgb.test.data, test.data,  2, type = "binary")
showWaterfall(xgb.model, explainer, xgb.test.data, test.data,  8, type = "binary")

AppliedDataSciencePartners/xgboostExplainer documentation built on May 27, 2019, 11:59 a.m.