Interactive Visualization for
Interpretable Machine Learning

ELLIIT Focus Period seminar

Dennis Collaris, Jarke J. van Wijk

Eindhoven University of Technology

75% risk!

Black box 

model

Domain expert

But why?

Data

Machine learning

75% risk!

Black box 

model

Domain expert

Explanation

Aha!

But why?

Data

Explainer

Machine learning

Local

Global

Machine learning explanations

  • Which features played a role in the decision?

 

  • Why did the model make this classification?

 

  • What can I do to affect the prediction?

 

  • What features does the
    model use in general?

 

  • Does the model treat
    everyone fairly?

 

  • Does the model do what
    it is intended to do?

Black box

model

Data

Black box

model

Data

Data

Single

prediction

Entire

model

Local

Global

Black box

model

Data

Black box

model

Data

Data

Single

prediction

Entire

model

Machine learning explanations

  • Which features played a role in the decision?

 

  • Why did the model make this classification?

 

  • What can I do to affect the prediction?

 

  • What features does the
    model use in general?

 

  • Does the model treat
    everyone fairly?

 

  • Does it discriminate
    against groups?

ExplainExplore

Interactive visual explanation

Local

Global

Contribution-Value   Plots

Local

Global

ExplainExplore

Interactive visual explanation

StrategyAtlas

Local

Global

ExplainExplore

CV Plots

Interactive visual explanation

Local

Global

ExplainExplore

CV Plots

StrategyAtlas

Interactive visual explanation

Visual exploration of
machine learning explanations

Local

Global

EXPLAINEXPLORE

Surrogate learning

0              1               2             3             x

y

2

1

 

Feature 1

Feature 2

Feature 3

Feature 1

Feature 2

Feature 3

Feature 1

Feature 2

Feature 3

Problem

EXPLAINEXPLORE

Help data scientists to create and tune explanatory surrogate models.

EXPLAINEXPLORE

  • ← Any tabular data set

  • ← Any Python classifier, or PMML

  • ← Different surrogate models

Configuration view

EXPLAINEXPLORE

  • ← Surrogate fidelity: R2
  • ← Prediction
  • ← Feature contribution

Local columns

Global columns

  • Shows values  or contribution →
  • Line color = predicted class →
  • Compare selected instance with data →
  • Clusters indicate ‘strategies’ →

Feature view

EXPLAINEXPLORE

Context view

EXPLAINEXPLORE

Context view

EXPLAINEXPLORE

Context view

More info at

explaining.ml

EXPLAINEXPLORE

Questions?

More info at

explaining.ml

EXPLAINEXPLORE

Machine Learning Interpretability through Contribution-Value Plots

CONTRIBUTION-VALUE PLOTS

Local

Global

Pre-existing techniques as elementary building blocks.

Prediction (ŷ)

x

ŷ

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

[1]    Friedman, J. H. "Greedy function approximation: a gradient boosting machine.", 2001.

Prediction (ŷ)

Local PDP [1]

Sensitivity

analysis

x

ŷ

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

Prediction (ŷ)

Sensitivity

analysis

x

ŷ

[2]   Goldstein, A., et al. "Peeking inside the black box: Visualizing statistical learning with plots of individual conditional expectation.", 2015.

Local PDP [1]

ICE plot [2]

Repeat

x

ŷ

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

[4]   Lundberg, S. M., et. al.. "A unified approach to interpreting model predictions.". 2017.

Feature 1

Feature 2

Feature 3

Feature 4

Feature 5

[3]   Ribeiro, M. T., et. al. ""Why should i trust you?" Explaining the predictions of any classifier.", 2016.

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

Prediction (ŷ)

Sensitivity

analysis

x

ŷ

Local PDP [1]

ICE plot [2]

Repeat

β

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

Prediction (ŷ)

Local PDP

ICE plot

Contribution (β)

Sensitivity

analysis

Repeat

x

ŷ

β

x

β

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

Prediction (ŷ)

Local PDP

ICE plot

Contribution (β)

LCV plot

Sensitivity

analysis

Sensitivity

analysis

Repeat

x

ŷ

β

x

β

CONTRIBUTION-VALUE PLOTS

The idea

Pre-existing techniques as elementary building blocks.

Prediction (ŷ)

Local PDP

ICE plot

Contribution (β)

LCV plot

GCV plot

Sensitivity

analysis

Sensitivity

analysis

Repeat

Repeat

x

ŷ

β

x

β

CONTRIBUTION-VALUE PLOTS

The idea

Wine acidity (pH)

x

β

CONTRIBUTION-VALUE PLOTS

An exemplary data model exploration

Data

  • 998 red wines
  • 11 features


Model

  • Random Forest (100 trees)
  • Predict quality: 👍 / 👎

CONTRIBUTION-VALUE PLOTS

An exemplary data model exploration

x

β

x

β

CONTRIBUTION-VALUE PLOTS

Wine acidity (pH)

x

β

x

ŷ

An exemplary data model exploration

CONTRIBUTION-VALUE PLOTS

An exemplary data model exploration

??

CONTRIBUTION-VALUE PLOTS

Line fading .      .

x

β

CONTRIBUTION-VALUE PLOTS

Questions?

More info at

explaining.ml

CONTRIBUTION-VALUE PLOTS

Strategy analysis for
machine learning interpretability

STRATEGYATLAS

Local

Global

How?

Strategy A

Strategy B

The basic principle

STRATEGYATLAS

How?

The basic principle

ID Name Age Sex Product Branch ...
1 💤 💤 💤 🔥 💤 ...
2 🔥 💤 💤 💤 🔥 ...
3 💤 🔥 💤 🔥 🔥 ...
... ... ... ... ... ... ...
ID Name Age Sex Product Branch ...
1 Alice 28 F Health Zekur ...
2 Bob 57 M Car FBTO ...
3 Chad 34 M Life Intrpls ...
... ... ... ... ... ... ...

2D projection

StrategyMap

feature contribution (LIME)

STRATEGYATLAS

What?

The full interface

STRATEGYATLAS

What?

Method 1: Heat map cluster analysis

Data

Model

STRATEGYATLAS

What?

Method 2: Density plots

Data

Model

All data

Selection

STRATEGYATLAS

What?

Method 3: Decision trees

Saved clusters  →

DT for selected cluster →

Performance comparison →

STRATEGYATLAS

STRATEGYATLAS

Questions?

More info at

explaining.ml

Conclusion

Any further questions?

More info at

explaining.ml

PMML library
bit.ly/sklearn-pmml

Local

Global

ExplainExplore

CV Plots

StrategyAtlas

ELLIIT-01

By iamdecode

ELLIIT-01

  • 473