break_down_uncertainty {iBreakDown} | R Documentation |
Explanation Level Uncertainty of Sequential Variable Attribution
Description
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
.
Usage
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)
Arguments
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 |
Value
an object of the break_down_uncertainty
class.
References
Explanatory Model Analysis. Explore, Explain and Examine Predictive Models. https://ema.drwhy.ai
See Also
break_down
, local_attributions
Examples
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)