inst/doc/vignette_iBreakDown_titanic.R

## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = FALSE,
  comment = "#>",
  fig.width = 7,
  fig.height = 3.5,
  warning = FALSE,
  message = FALSE
)

## -----------------------------------------------------------------------------
library("DALEX")
head(titanic)

## -----------------------------------------------------------------------------
# prepare model
library("randomForest")
titanic <- na.omit(titanic)
model_titanic_rf <- randomForest(survived == "yes" ~ gender + age + class + embarked +
                                   fare + sibsp + parch,  data = titanic)
model_titanic_rf

## -----------------------------------------------------------------------------
library("DALEX")
explain_titanic_rf <- explain(model_titanic_rf, 
                      data = titanic[,-9],
                      y = titanic$survived == "yes", 
                      label = "Random Forest v7")

## -----------------------------------------------------------------------------
new_passanger <- data.frame(
  class = factor("1st", levels = c("1st", "2nd", "3rd", "deck crew", "engineering crew", "restaurant staff", "victualling crew")),
  gender = factor("male", levels = c("female", "male")),
  age = 8,
  sibsp = 0,
  parch = 0,
  fare = 72,
  embarked = factor("Southampton", levels = c("Belfast", "Cherbourg", "Queenstown", "Southampton"))
)

## -----------------------------------------------------------------------------
library("iBreakDown")
rf_la <- local_attributions(explain_titanic_rf, new_passanger)
rf_la

## -----------------------------------------------------------------------------
plot(rf_la)

## -----------------------------------------------------------------------------
plotD3(rf_la)

## -----------------------------------------------------------------------------
rf_la_un <- break_down_uncertainty(explain_titanic_rf, new_passanger,
                         path = "average")
plot(rf_la_un)

## -----------------------------------------------------------------------------
plotD3(rf_la, max_features = 3)

## -----------------------------------------------------------------------------
plotD3(rf_la, max_features = 3, min_max = c(0,1), margin = 0)

Try the iBreakDown package in your browser

Any scripts or data that you put into this service are public.

iBreakDown documentation built on May 7, 2021, 5:07 p.m.