View source: R/break_down_uncertainty.R
break_down_uncertainty | R Documentation |
This function calculates the break down algorithm for B
random orderings.
Then it calculates the distribution of attributions for these different orderings.
Note that the shap()
function is just a simplified interface to the break_down_uncertainty()
function
with a default value set to B=25
.
break_down_uncertainty(x, ..., keep_distributions = TRUE, B = 10) ## S3 method for class 'explainer' break_down_uncertainty( x, new_observation, ..., keep_distributions = TRUE, B = 10 ) ## Default S3 method: break_down_uncertainty( x, data, predict_function = predict, new_observation, label = class(x)[1], ..., path = NULL, keep_distributions = TRUE, B = 10 ) shap(x, ..., B = 25)
x |
an explainer created with function |
... |
other parameters. |
keep_distributions |
if |
B |
number of random paths |
new_observation |
a new observation with columns that correspond to variables used in the model. |
data |
validation dataset, will be extracted from |
predict_function |
predict function, will be extracted from |
label |
name of the model. By default it's extracted from the 'class' attribute of the model. |
path |
if specified, then this path will be highlighed on the plot. Use |
an object of the break_down_uncertainty
class.
Explanatory Model Analysis. Explore, Explain and Examine Predictive Models. https://ema.drwhy.ai
break_down
, local_attributions
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") # there is no explanation level uncertanity linked with additive models bd_glm <- break_down_uncertainty(explain_titanic_glm, titanic_imputed[1, ]) bd_glm plot(bd_glm) ## Not run: ## Not run: library("randomForest") set.seed(1313) model <- randomForest(status ~ . , data = HR) new_observation <- HR_test[1,] explainer_rf <- explain(model, data = HR[1:1000, 1:5]) bd_rf <- break_down_uncertainty(explainer_rf, new_observation) bd_rf plot(bd_rf) # 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 <- break_down_uncertainty(explainer_rf, apartments_test[1,]) bd_rf plot(bd_rf) bd_rf <- break_down_uncertainty(explainer_rf, apartments_test[1,], path = 1:5) plot(bd_rf) bd_rf <- break_down_uncertainty(explainer_rf, apartments_test[1,], path = c("floor", "no.rooms", "district", "construction.year", "surface")) plot(bd_rf) bd <- break_down(explainer_rf, apartments_test[1,]) plot(bd) s <- shap(explainer_rf, apartments_test[1,]) plot(s) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.