# explain_tidymodels: Create explainer from your tidymodels workflow. In DALEXtra: Extension for 'DALEX' Package

 explain_tidymodels R Documentation

## Create explainer from your tidymodels workflow.

### Description

DALEX is designed to work with various black-box models like tree ensembles, linear models, neural networks etc. Unfortunately R packages that create such models are very inconsistent. Different tools use different interfaces to train, validate and use models. One of those tools, which is one of the most popular one is the tidymodels package. We would like to present dedicated explain function for it.

### Usage

explain_tidymodels(
model,
data = NULL,
y = NULL,
weights = NULL,
predict_function = NULL,
predict_function_target_column = NULL,
residual_function = NULL,
...,
label = NULL,
verbose = TRUE,
precalculate = TRUE,
colorize = !isTRUE(getOption("knitr.in.progress")),
model_info = NULL,
type = NULL
)


### Arguments

 model object - a model to be explained data data.frame or matrix - data which will be used to calculate the explanations. If not provided, then it will be extracted from the model. Data should be passed without a target column (this shall be provided as the y argument). NOTE: If the target variable is present in the data, some of the functionalities may not work properly. y numeric vector with outputs/scores. If provided, then it shall have the same size as data weights numeric vector with sampling weights. By default it's NULL. If provided, then it shall have the same length as data predict_function function that takes two arguments: model and new data and returns a numeric vector with predictions. By default it is yhat. predict_function_target_column Character or numeric containing either column name or column number in the model prediction object of the class that should be considered as positive (i.e. the class that is associated with probability 1). If NULL, the second column of the output will be taken for binary classification. For a multiclass classification setting, that parameter cause switch to binary classification mode with one vs others probabilities. residual_function function that takes four arguments: model, data, target vector y and predict function (optionally). It should return a numeric vector with model residuals for given data. If not provided, response residuals (y-\hat{y}) are calculated. By default it is residual_function_default. ... other parameters label character - the name of the model. By default it's extracted from the 'class' attribute of the model verbose logical. If TRUE (default) then diagnostic messages will be printed precalculate logical. If TRUE (default) then predicted_values and residual are calculated when explainer is created. This will happen also if verbose is TRUE. Set both verbose and precalculate to FALSE to omit calculations. colorize logical. If TRUE (default) then WARNINGS, ERRORS and NOTES are colorized. Will work only in the R console. Now by default it is FALSE while knitting and TRUE otherwise. model_info a named list (package, version, type) containing information about model. If NULL, DALEX will seek for information on it's own. type type of a model, either classification or regression. If not specified then type will be extracted from model_info.

### Value

explainer object (explain) ready to work with DALEX

### Examples

library("DALEXtra")
library("tidymodels")
library("recipes")
data <- titanic_imputed
data$survived <- as.factor(data$survived)
rec <- recipe(survived ~ ., data = data) %>%
step_normalize(fare)
model <- decision_tree(tree_depth = 25) %>%
set_engine("rpart") %>%
set_mode("classification")

wflow <- workflow() %>%