The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Setup

library(arenar)

apartments <- DALEX::apartments
head(apartments)

Prepare models

Let's compare three models: GLM and GBMs with 100 and 500 trees. For each we create explainer from DALEX package.

library(gbm)
library(DALEX)
library(dplyr)

model_gbm100 <- gbm(m2.price ~ ., data = apartments, n.trees = 100)
expl_gbm100 <- explain(
  model_gbm100,
  data = apartments,
  y = apartments$m2.price,
  label = "gbm [100 trees]"
)

model_gbm500 <- gbm(m2.price ~ ., data = apartments, n.trees = 500)
expl_gbm500 <- explain(
  model_gbm500,
  data = apartments,
  y = apartments$m2.price,
  label = "gbm [500 trees]"
)

model_glm <- glm(m2.price ~ ., data = apartments)
expl_glm <- explain(model_glm, data = apartments, y = apartments$m2.price)

Prepare observations

Plots for static Arena are pre-caluclated and it takes time and file size. For example we will take only apartments from 2009 or newer. Random sample is also good.

observations <- apartments %>% filter(construction.year >= 2009)
# Observations' names are taken from rownames
rownames(observations) <- paste0(
  observations$district,
  " ",
  observations$surface,
  "m2 "
)

Create arena

arena <- create_arena() %>%
  # Pushing explainers for each models
  push_model(expl_gbm100) %>%
  push_model(expl_gbm500) %>%
  push_model(expl_glm) %>%
  # Push dataframe of observations
  push_observations(observations) %>%
  # Upload calculated arena files to Gist and open Arena in browser
  upload_arena()

Appending data

There are two ways of add new observations or new models without recalcualating already generated plots. Let's add apartments built in 2008. It's similar for models.

observations2 <- apartments %>% filter(construction.year == 2008)
# Observations' names are taken from rownames
rownames(observations2) <- paste0(
  observations2$district,
  " ",
  observations2$surface,
  "m2 "
)

New Arena session

We can add observations to already existing arena object and call arena_upload().

arena %>%
  push_observations(observations2) %>%
  upload_arena()

Append to already existing session

Sometimes we don't want to close Arena session and just add data. There is argument in arena_upload function to do that. Remember to append new arena object and to push all models and all observations that are required to plots you want to append.

create_arena() %>%
  push_observations(arena_push_observations2) %>%
  push_model(expl_glm) %>%
  push_model(expl_gbm100) %>%
  push_model(expl_gbm500) %>%
  upload_arena(append_data = TRUE)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.