Descriptive mAchine Learning EXplanations

Machine Learning (ML) models are widely used and have various applications in classification or regression. Models created with boosting, bagging, stacking or similar techniques are often used due to their high performance, but such black-box models usually lack of interpretability. DALEX package contains various explainers that help to understand the link between input variables and model output. The single_variable() explainer extracts conditional response of a model as a function of a single selected variable. It is a wrapper over packages 'pdp' and 'ALEPlot'. The single_prediction() explainer attributes parts of a model prediction to particular variables used in the model. It is a wrapper over 'breakDown' package. The variable_dropout() explainer calculates variable importance scores based on variable shuffling. All these explainers can be plotted with generic plot() function and compared across different models.


DALEX 0.2.4

  • New dataset HR and HRTest. Target variable is a factor with three levels. Is used in examples for classification.
  • The plot.model_performance() has now show_outliers parameter. Set it to anything >0 and observations with largest residuals will be presented in the plot. (#34)

DALEX 0.2.3

  • Small fixes in variable_response() to better support of gbm models (c8393120ffb05e2f3c70b0143c4e92dc91f6c823).
  • Better title for plot_model_performance() (e5e61d0398459b78ea38ccc980c4040fd853f449).
  • Tested with breakDown v 0.1.6.

DALEX 0.2.2

  • The single_variable() / variable_response() function uses predict_function from explainer (#17)

DALEX 0.2.1

  • The explain() function converts tibbles to data.frame when specified as data argument (#15)
  • The default generic explain.default() should help when explain() from dplyr is loaded after DALEX (#16)

DALEX 0.2.0

  • New names for some functions: model_performance(), variable_importance(), variable_response(), outlier_detection(), prediction_breakdown(). Old names are now deprecated but still working. (#12)
  • A new dataset apartments - will be used in examples
  • variable_importance() allows work on full dataset if n_sample is negative
  • plot_model_performance() uses ecdf or boxplots (depending on geom parameter).

DALEX 0.1.8

  • Function single_variable() supports factor variables as well (with the use of factorMerger package). Remember to use type='factor' when playing with factors. (#10)
  • Change in the function explain(). Old version has an argument predict.function, now it's predict_function. New name is more consistent with other arguments. (#7)
  • New vigniette for xgboost model (#11)

DALEX 0.1.1

  • Support for global model structure explainers with variable_dropout() function


  • DALEX package is now public
  • explain() function implemented
  • single_prediction() function implemented
  • single_variable() function implemented

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.6 by Przemyslaw Biecek, 13 days ago

Report a bug at

Browse source code at

Authors: Przemyslaw Biecek [aut, cre]

Documentation:   PDF Manual  

GPL license

Imports pdp, ggplot2, ALEPlot, breakDown, factorMerger, ggpubr

Suggests gbm, randomForest, xgboost, testthat, dplyr

Imported by ceterisParibus.

Suggested by auditor, live, xspliner.

See at CRAN