Conditional Dependency Profiles (aka Local Profiles) average localy Ceteris Paribus Profiles. Function 'conditional_dependency' calls 'ceteris_paribus' and then 'aggregate_profiles'.

conditional_dependency(x, ...)

# S3 method for explainer
conditional_dependency(x, variables = NULL,
  N = 500, variable_splits = NULL, grid_points = 101, ...,
  variable_type = "numerical")

# S3 method for default
conditional_dependency(x, data,
  predict_function = predict, label = class(x)[1], variables = NULL,
  N = 500, variable_splits = NULL, grid_points = 101, ...,
  variable_type = "numerical")

# S3 method for ceteris_paribus_explainer
conditional_dependency(x, ...,
  variables = NULL)

local_dependency(x, ...)

Arguments

x

an explainer created with function DALEX::explain(), an object of the class ceteris_paribus_explainer or a model to be explained.

...

other parameters

variables

names of variables for which profiles shall be calculated. Will be passed to calculate_variable_split. If NULL then all variables from the validation data will be used.

N

number of observations used for calculation of partial dependency profiles. By default 500.

variable_splits

named list of splits for variables, in most cases created with calculate_variable_split. If NULL then it will be calculated based on validation data avaliable in the explainer.

grid_points

number of points for profile. Will be passed to calculate_variable_split.

variable_type

a character. If numerical then only numerical variables will be calculated. If categorical then only categorical variables will be calculated.

data

validation dataset, will be extracted from x if it's an explainer NOTE: It is best when target variable is not present in the data

predict_function

predict function, will be extracted from x if it's an explainer

label

name of the model. By default it's extracted from the class attribute of the model

Value

an object of the class aggregated_profile_explainer

Details

Find more detailes in Local Dependency Profiles Chapter.

References

Predictive Models: Visual Exploration, Explanation and Debugging https://pbiecek.github.io/PM_VEE

Examples

library("DALEX") 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) cdp_glm <- conditional_dependency(explain_titanic_glm, N = 150, variables = c("age", "fare")) head(cdp_glm)
#> Top profiles : #> _vname_ _label_ _x_ _yhat_ _ids_ #> age.lm.0.1666666667 age lm 0.1666667 0.3172526 0 #> age.lm.2 age lm 2.0000000 0.3139493 0 #> age.lm.4 age lm 4.0000000 0.3102819 0 #> age.lm.7 age lm 7.0000000 0.3046441 0 #> age.lm.9 age lm 9.0000000 0.3007907 0 #> age.lm.13 age lm 13.0000000 0.2928908 0
plot(cdp_glm)
# \donttest{ library("randomForest") model_titanic_rf <- randomForest(survived ~., data = titanic_imputed)
#> Warning: The response has five or fewer unique values. Are you sure you want to do regression?
explain_titanic_rf <- explain(model_titanic_rf, data = titanic_imputed[,-8], y = titanic_imputed[,8], verbose = FALSE) cdp_rf <- conditional_dependency(explain_titanic_rf, N = 200, variable_type = "numerical") plot(cdp_rf)
cdp_rf <- conditional_dependency(explain_titanic_rf, N = 200, variable_type = "categorical") plotD3(cdp_rf, variable_type = "categorical", label_margin = 80, scale_plot = TRUE) # }