ceteris_paribus_layer {ceterisParibus} | R Documentation |
Add Layer to the Ceteris Paribus Plot
Description
Function 'ceteris_paribus_layer()' adds a layer to a plot created with 'plot.ceteris_paribus_explainer()' plots. Various parameters help to decide what should be plotted, profiles, aggregated profiles, points or rugs.
Usage
ceteris_paribus_layer(
x,
...,
size = 1,
alpha = 0.3,
color = "black",
size_points = 2,
alpha_points = 1,
color_points = color,
size_rugs = 0.5,
alpha_rugs = 1,
color_rugs = color,
size_residuals = 1,
alpha_residuals = 1,
color_residuals = color,
only_numerical = TRUE,
show_profiles = TRUE,
show_observations = TRUE,
show_rugs = FALSE,
show_residuals = FALSE,
aggregate_profiles = NULL,
as.gg = FALSE,
facet_ncol = NULL,
selected_variables = NULL,
init_plot = FALSE
)
Arguments
x |
a ceteris paribus explainer produced with function 'ceteris_paribus()' |
... |
other explainers that shall be plotted together |
size |
a numeric. Size of lines to be plotted |
alpha |
a numeric between 0 and 1. Opacity of lines |
color |
a character. Either name of a color or name of a variable that should be used for coloring |
size_points |
a numeric. Size of points to be plotted |
alpha_points |
a numeric between 0 and 1. Opacity of points |
color_points |
a character. Either name of a color or name of a variable that should be used for coloring |
size_rugs |
a numeric. Size of rugs to be plotted |
alpha_rugs |
a numeric between 0 and 1. Opacity of rugs |
color_rugs |
a character. Either name of a color or name of a variable that should be used for coloring |
size_residuals |
a numeric. Size of line and points to be plotted for residuals |
alpha_residuals |
a numeric between 0 and 1. Opacity of points and lines for residuals |
color_residuals |
a character. Either name of a color or name of a variable that should be used for coloring for residuals |
only_numerical |
a logical. If TRUE then only numerical variables will be plotted. If FALSE then only categorical variables will be plotted. |
show_profiles |
a logical. If TRUE then profiles will be plotted. Either individual or aggregate (see 'aggregate_profiles') |
show_observations |
a logical. If TRUE then individual observations will be marked as points |
show_rugs |
a logical. If TRUE then individual observations will be marked as rugs |
show_residuals |
a logical. If TRUE then residuals will be plotted as a line ended with a point |
aggregate_profiles |
function. If NULL (default) then individual profiles will be plotted. If a function (e.g. mean or median) then profiles will be aggregated and only the aggregate profile will be plotted |
as.gg |
if TRUE then returning plot will have gg class |
facet_ncol |
number of columns for the 'facet_wrap()'. |
selected_variables |
if not NULL then only 'selected_variables' will be presented |
init_plot |
technical parameter, do not use. |
Value
a ggplot2 object
Examples
library("DALEX")
## Not run:
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)
## End(Not run)