DALEX is designed to explore and explain the behaviour of Machine Learning
methods. This function creates a DALEX explainer (see DALEX::explain()
),
which can then be queried by multiple functions from the DALEX package to
create explanations of the model.
explain_tidysdm(
model,
data,
y,
predict_function,
predict_function_target_column,
residual_function,
...,
label,
verbose,
precalculate,
colorize,
model_info,
type,
by_workflow
)# S3 method for default
explain_tidysdm(
model,
data = NULL,
y = 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 = "classification",
by_workflow = FALSE
)
# S3 method for simple_ensemble
explain_tidysdm(
model,
data = NULL,
y = 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 = "classification",
by_workflow = FALSE
)
# S3 method for repeat_ensemble
explain_tidysdm(
model,
data = NULL,
y = 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 = "classification",
by_workflow = FALSE
)
explainer object DALEX::explain
ready to work with DALEX
object - a model to be explained
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.
numeric vector with outputs/scores. If provided, then it shall have the same size as data
function that takes two arguments: model and new data and returns a numeric vector with predictions. By default it is yhat
.
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.
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
character - the name of the model. By default it's extracted from the 'class' attribute of the model
logical. If TRUE (default) then diagnostic messages will be printed
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.
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.
a named list (package
, version
, type
) containing information about model. If NULL
, DALEX
will seek for information on it's own.
type of a model, either classification
or regression
. If not specified then type
will be extracted from model_info
.
boolean determining whether a list of explainer, one per model, should be returned instead of a single explainer for the ensemble
By default, the response variable is extracted form the ensemble object. Note
that, if the response variable is passed directly, y
should be a factor
with presence as a reference level. To check that y
is formatted correctly,
use check_sdm_presence()
.
data.table::setDTthreads(2)
# \donttest{
# using the whole ensemble
lacerta_explainer <- explain_tidysdm(tidysdm::lacerta_ensemble)
# by workflow
explainer_list <- explain_tidysdm(tidysdm::lacerta_ensemble,
by_workflow = TRUE
)
# }
Run the code above in your browser using DataLab