Plot Generic for Break Down Objects
Displays a waterfall break down plot for objects of break_down
class.
## S3 method for class 'break_down' plot( x, ..., baseline = NA, max_features = 10, min_max = NA, vcolors = DALEX::colors_breakdown_drwhy(), digits = 3, rounding_function = round, add_contributions = TRUE, shift_contributions = 0.05, plot_distributions = FALSE, vnames = NULL, title = "Break Down profile", subtitle = "", max_vars = NULL )
x |
an explanation created with |
... |
other parameters. |
baseline |
if numeric then veritical line starts in |
max_features |
maximal number of features to be included in the plot. default value is |
min_max |
a range of OX axis. By default |
vcolors |
If |
digits |
number of decimal places ( |
rounding_function |
a function to be used for rounding numbers.
This should be |
add_contributions |
if |
shift_contributions |
number describing how much labels should be shifted to the right, as a fraction of range. By default equal to |
plot_distributions |
if |
vnames |
a character vector, if specified then will be used as labels on OY axis. By default NULL |
title |
a character. Plot title. By default |
subtitle |
a character. Plot subtitle. By default |
max_vars |
alias for the |
a ggplot2
object.
Explanatory Model Analysis. Explore, Explain and Examine Predictive Models. https://ema.drwhy.ai
library("DALEX") library("iBreakDown") set.seed(1313) model_titanic_glm <- glm(survived ~ gender + age + fare, data = titanic_imputed, family = "binomial") explain_titanic_glm <- explain(model_titanic_glm, data = titanic_imputed, y = titanic_imputed$survived, label = "glm") bd_glm <- break_down(explain_titanic_glm, titanic_imputed[1, ]) bd_glm plot(bd_glm, max_features = 3) plot(bd_glm, max_features = 3, vnames = c("average","+ male","+ young","+ cheap ticket", "+ other factors", "final")) ## Not run: ## Not run: library("randomForest") set.seed(1313) # example with interaction # classification for HR data model <- randomForest(status ~ . , data = HR) new_observation <- HR_test[1,] explainer_rf <- explain(model, data = HR[1:1000,1:5]) bd_rf <- local_attributions(explainer_rf, new_observation) bd_rf plot(bd_rf) plot(bd_rf, baseline = 0) plot(bd_rf, min_max = c(0,1)) bd_rf <- local_attributions(explainer_rf, new_observation, keep_distributions = TRUE) bd_rf plot(bd_rf, plot_distributions = TRUE) bd_rf <- local_interactions(explainer_rf, new_observation, keep_distributions = TRUE) bd_rf plot(bd_rf) plot(bd_rf, plot_distributions = TRUE) # example for regression - apartment prices # here we do not have intreactions model <- randomForest(m2.price ~ . , data = apartments) explainer_rf <- explain(model, data = apartments_test[1:1000,2:6], y = apartments_test$m2.price[1:1000]) bd_rf <- local_attributions(explainer_rf, apartments_test[1,]) bd_rf plot(bd_rf, digits = 1) plot(bd_rf, digits = 1, baseline = 0) bd_rf <- local_attributions(explainer_rf, apartments_test[1,], keep_distributions = TRUE) plot(bd_rf, plot_distributions = TRUE) bd_rf <- local_interactions(explainer_rf, new_observation = apartments_test[1,], keep_distributions = TRUE) bd_rf plot(bd_rf) plot(bd_rf, plot_distributions = TRUE) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.