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)