library(arenar)
apartments <- DALEX::apartments
head(apartments)
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)
It is not necessary to use dplyr's pipes, but it's designed to use pipes.
arena <- create_arena(live = TRUE) %>%
  # Pushing explainers for each models
  push_model(expl_gbm100) %>%
  push_model(expl_gbm500) %>%
  push_model(expl_glm) %>%
  # Push dataframe of observations
  push_observations(apartments) %>%
  # Run server of default port and ip
  run_server()
Oservations' names are taken from rownames. For example let's put district and surface as observation name.
apartments2 <- apartments
rownames(apartments2) <- paste0(
  1:nrow(apartments2),
  ". ",
  apartments2$surface,
  "m2 ",
  apartments2$district
)
create_arena(live = TRUE) %>%
  push_model(expl_glm) %>%
  push_observations(apartments2) %>%
  run_server()
Sometimes you have already opened Arena session with static data, different live
server or other data source. You can add new data without closing that window.
Just use argument append_data.
create_arena(live = TRUE) %>%
  push_model(expl_glm) %>%
  run_server(append_data = TRUE)