library("DALEX")
if (FALSE) {
library("randomForest")
set.seed(59)
apartments_rf_model <- randomForest(m2.price ~ construction.year + surface + floor +
no.rooms + district, data = apartments)
explainer_rf <- explain(apartments_rf_model,
data = apartmentsTest[,2:6], y = apartmentsTest$m2.price)
apartments_small_1 <- apartmentsTest[1,]
apartments_small_2 <- select_sample(apartmentsTest, n = 20)
apartments_small_3 <- select_neighbours(apartmentsTest, apartments_small_1, n = 20)
cp_rf_y1 <- ceteris_paribus(explainer_rf, apartments_small_1, y = apartments_small_1$m2.price)
cp_rf_y2 <- ceteris_paribus(explainer_rf, apartments_small_2, y = apartments_small_2$m2.price)
cp_rf_y3 <- ceteris_paribus(explainer_rf, apartments_small_3, y = apartments_small_3$m2.price)
tmp <- plot(cp_rf_y3, show_profiles = TRUE, show_observations = TRUE,
show_residuals = TRUE, color = "black",
alpha = 0.2, color_residuals = "darkred",
selected_variables = c("construction.year", "surface"))
tmp <- plot(cp_rf_y3, show_profiles = TRUE, show_observations = TRUE,
show_residuals = TRUE, color = "black",
alpha = 0.2, color_residuals = "darkred")
tmp
tmp +
ceteris_paribus_layer(cp_rf_y2, show_profiles = TRUE, show_observations = TRUE,
alpha = 0.2, color = "darkblue")
tmp +
ceteris_paribus_layer(cp_rf_y2, show_profiles = TRUE, show_observations = TRUE,
alpha = 0.2, color = "darkblue") +
ceteris_paribus_layer(cp_rf_y2, show_profiles = TRUE, show_observations = FALSE,
alpha = 1, size = 2, color = "blue", aggregate_profiles = mean) +
ceteris_paribus_layer(cp_rf_y1, show_profiles = TRUE, show_observations = FALSE,
alpha = 1, size = 2, color = "red", aggregate_profiles = mean)
}
Run the code above in your browser using DataLab