Description Usage Arguments Details Value References Examples
Blackbox models may have very different structures. This function creates a unified representation of a model, which can be further processed by various explainers.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  explain.default(
model,
data = NULL,
y = NULL,
predict_function = NULL,
residual_function = NULL,
weights = NULL,
...,
label = NULL,
verbose = TRUE,
precalculate = TRUE,
colorize = TRUE,
model_info = NULL,
type = NULL
)
explain(
model,
data = NULL,
y = NULL,
predict_function = NULL,
residual_function = NULL,
weights = NULL,
...,
label = NULL,
verbose = TRUE,
precalculate = TRUE,
colorize = TRUE,
model_info = NULL,
type = NULL
)

model 
object  a model to be explained 
data 
data.frame or matrix  data that was used for fitting. If not provided then will be extracted from the model. Data should be passed without target column (this shall be provided as the 
y 
numeric vector with outputs / scores. If provided then it shall have the same size as 
predict_function 
function that takes two arguments: model and new data and returns numeric vector with predictions 
residual_function 
function that takes three arguments: model, data and response vector y. It should return a numeric vector with model residuals for given data. If not provided, response residuals (y\hat{y}) are calculated. 
weights 
numeric vector with sampling weights. By default it's 
... 
other parameters 
label 
character  the name of the model. By default it's extracted from the 'class' attribute of the model 
verbose 
if TRUE (default) then diagnostic messages will be printed 
precalculate 
if TRUE (default) then 
colorize 
if TRUE (default) then 
model_info 
a named list ( 
type 
type of a model, either 
Please NOTE, that the model
is the only required argument.
But some explainers may require that other arguments will be provided too.
An object of the class explainer
.
It's a list with following fields:
model
the explained model.
data
the dataset used for training.
y
response for observations from data
.
weights
sample weights for data
. NULL
if weights are not specified.
y_hat
calculated predictions.
residuals
calculated residuals.
predict_function
function that may be used for model predictions, shall return a single numerical value for each observation.
residual_function
function that returns residuals, shall return a single numerical value for each observation.
class
class/classes of a model.
label
label of explainer.
model_info
named list contating basic information about model, like package, version of package and type.
Explanatory Model Analysis. Explore, Explain and Examine Predictive Models. https://pbiecek.github.io/ema/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42  # simple explainer for regression problem
aps_lm_model4 < lm(m2.price ~., data = apartments)
aps_lm_explainer4 < explain(aps_lm_model4, data = apartments, label = "model_4v")
aps_lm_explainer4
# various parameters for the explain function
# all defaults
aps_lm < explain(aps_lm_model4)
# silent execution
aps_lm < explain(aps_lm_model4, verbose = FALSE)
# user provided predict_function
aps_lm < explain(aps_lm_model4, data = apartments, label = "model_4v", predict_function = predict)
# set target variable
aps_lm < explain(aps_lm_model4, data = apartments, label = "model_4v", y = apartments$m2.price)
aps_lm < explain(aps_lm_model4, data = apartments, label = "model_4v", y = apartments$m2.price,
predict_function = predict)
# set model_info
model_info < list(package = "stats", ver = "3.6.2", type = "regression")
aps_lm_model4 < lm(m2.price ~., data = apartments)
aps_lm_explainer4 < explain(aps_lm_model4, data = apartments, label = "model_4v",
model_info = model_info)
## Not run:
# set model_info
model_info < list(package = "stats", ver = "3.6.2", type = "regression")
aps_lm_model4 < lm(m2.price ~., data = apartments)
aps_lm_explainer4 < explain(aps_lm_model4, data = apartments, label = "model_4v",
model_info = model_info)
aps_lm_explainer4 < explain(aps_lm_model4, data = apartments, label = "model_4v",
weights = as.numeric(apartments$construction.year > 2000))
# more complex model
library("ranger")
aps_ranger_model4 < ranger(m2.price ~., data = apartments, num.trees = 50)
aps_ranger_explainer4 < explain(aps_ranger_model4, data = apartments, label = "model_ranger")
aps_ranger_explainer4
## End(Not run)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.