View source: R/plot_aggregated_profiles.R
plot.aggregated_profiles_explainer | R Documentation |
Function plot.aggregated_profiles_explainer
plots partial dependence plot or accumulated effect plot.
It works in a similar way to plot.ceteris_paribus
, but instead of individual profiles
show average profiles for each variable listed in the variables
vector.
## S3 method for class 'aggregated_profiles_explainer' plot( x, ..., size = 1, alpha = 1, color = "_label_", facet_ncol = NULL, facet_scales = "free_x", variables = NULL, title = NULL, subtitle = NULL )
x |
a ceteris paribus explainer produced with function |
... |
other explainers that shall be plotted together |
size |
a numeric. Size of lines to be plotted |
alpha |
a numeric between |
color |
a character. Either name of a color, or hex code for a color, or |
facet_ncol |
number of columns for the |
facet_scales |
a character value for the |
variables |
if not |
title |
a character. Partial and accumulated dependence explainers have deafult value. |
subtitle |
a character. If |
a ggplot2
object
Explanatory Model Analysis. Explore, Explain, and Examine Predictive Models. https://ema.drwhy.ai/
library("DALEX") library("ingredients") model_titanic_glm <- glm(survived ~ gender + age + fare, data = titanic_imputed, family = "binomial") explain_titanic_glm <- explain(model_titanic_glm, data = titanic_imputed[,-8], y = titanic_imputed[,8], verbose = FALSE) pdp_rf_p <- partial_dependence(explain_titanic_glm, N = 50) pdp_rf_p$`_label_` <- "RF_partial" pdp_rf_l <- conditional_dependence(explain_titanic_glm, N = 50) pdp_rf_l$`_label_` <- "RF_local" pdp_rf_a<- accumulated_dependence(explain_titanic_glm, N = 50) pdp_rf_a$`_label_` <- "RF_accumulated" head(pdp_rf_p) plot(pdp_rf_p, pdp_rf_l, pdp_rf_a, color = "_label_") library("ranger") model_titanic_rf <- ranger(survived ~., data = titanic_imputed, probability = TRUE) explain_titanic_rf <- explain(model_titanic_rf, data = titanic_imputed[,-8], y = titanic_imputed[,8], label = "ranger forest", verbose = FALSE) selected_passangers <- select_sample(titanic_imputed, n = 100) cp_rf <- ceteris_paribus(explain_titanic_rf, selected_passangers) cp_rf pdp_rf_p <- aggregate_profiles(cp_rf, variables = "age", type = "partial") pdp_rf_p$`_label_` <- "RF_partial" pdp_rf_c <- aggregate_profiles(cp_rf, variables = "age", type = "conditional") pdp_rf_c$`_label_` <- "RF_conditional" pdp_rf_a <- aggregate_profiles(cp_rf, variables = "age", type = "accumulated") pdp_rf_a$`_label_` <- "RF_accumulated" head(pdp_rf_p) plot(pdp_rf_p) plot(pdp_rf_p, pdp_rf_c, pdp_rf_a) plot(cp_rf, variables = "age") + show_observations(cp_rf, variables = "age") + show_rugs(cp_rf, variables = "age", color = "red") + show_aggregated_profiles(pdp_rf_p, size = 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.