Skip to content
Descriptive mAchine Learning EXplanations
R
Branch: master
Clone or download
Latest commit f3b8c18 Sep 10, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R fixed links in the documentation Aug 25, 2019
data candidate fix for #104 Aug 21, 2019
docs break things Sep 7, 2019
inst Removed unnecessary files as sklearn support moved to DALEXtra Aug 21, 2019
man make it straight again Sep 10, 2019
misc updated cheatsheet Jul 31, 2019
pkgdown/favicon updated website Sep 7, 2019
tests removed problematic tests Aug 25, 2019
vignettes fixed vigniette Mar 16, 2019
.Rbuildignore updated filenames Mar 30, 2019
.gitignore copy from private repo Feb 18, 2018
.travis.yml yhat for catboost removed as it crashes travis Jun 1, 2019
CONTRIBUTING.md Create CONTRIBUTING.md Mar 26, 2019
DALEX.Rproj
DESCRIPTION Optimalization of model_performance and tests for it Aug 21, 2019
LICENSE Create LICENCE as requested in #52 Jan 7, 2019
NAMESPACE added print_description() Aug 23, 2019
NEWS.md
README.md updated website Sep 7, 2019
_pkgdown.yml improvements in documentation #102 Aug 25, 2019

README.md

Descriptive mAchine Learning EXplanations

Build Status Coverage Status CRAN_Status_Badge Total Downloads

Overview

The DALEX package (Descriptive mAchine Learning EXplanations) helps to understand how complex models are working. The main function explain() creates a wrapper around a predictive model. Wrapped models may then be explored and compared with a collection of local and global explainers. Recent developents from the area of Interpretable Machine Learning/eXplainable Artificial Intelligence.

The philosophy behind DALEX explanations is described in the Predictive Models: Explore, Explain, and Debug e-book. The DALEX package is a part of DrWhy.AI universe.

Installation

# the easiest way to get DALEX is to install it from CRAN:
install.packages("DALEX")

# Or the the development version from GitHub:
# install.packages("devtools")
devtools::install_github("ModelOriented/DALEX")

Cheatsheet

Learn more

Machine Learning models are widely used and have various applications in classification or regression tasks. Due to increasing computational power, availability of new data sources and new methods, ML models are more and more complex. Models created with techniques like boosting, bagging of neural networks are true black boxes. It is hard to trace the link between input variables and model outcomes. They are use because of high performance, but lack of interpretability is one of their weakest sides.

In many applications we need to know, understand or prove how input variables are used in the model and what impact do they have on final model prediction. DALEX is a set of tools that help to understand how complex models are working.

DALEX show-cases

Talks about DALEX

Why

76 years ago Isaac Asimov devised Three Laws of Robotics: 1) a robot may not injure a human being, 2) a robot must obey the orders given it by human beings and 3) A robot must protect its own existence. These laws impact discussion around Ethics of AI. Today’s robots, like cleaning robots, robotic pets or autonomous cars are far from being conscious enough to be under Asimov’s ethics.

Today we are surrounded by complex predictive algorithms used for decision making. Machine learning models are used in health care, politics, education, judiciary and many other areas. Black box predictive models have far larger influence on our lives than physical robots. Yet, applications of such models are left unregulated despite many examples of their potential harmfulness. See Weapons of Math Destruction by Cathy O'Neil for an excellent overview of potential problems.

It's clear that we need to control algorithms that may affect us. Such control is in our civic rights. Here we propose three requirements that any predictive model should fulfill.

  • Prediction's justifications. For every prediction of a model one should be able to understand which variables affect the prediction and how strongly. Variable attribution to final prediction.
  • Prediction's speculations. For every prediction of a model one should be able to understand how the model prediction would change if input variables were changed. Hypothesizing about what-if scenarios.
  • Prediction's validations For every prediction of a model one should be able to verify how strong are evidences that confirm this particular prediction.

There are two ways to comply with these requirements. One is to use only models that fulfill these conditions by design. White-box models like linear regression or decision trees. In many cases the price for transparency is lower performance. The other way is to use approximated explainers – techniques that find only approximated answers, but work for any black box model. Here we present such techniques.

Acknowledgments

Work on this package was financially supported by the 'NCN Opus grant 2016/21/B/ST6/02176'.

You can’t perform that action at this time.