SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 1602.04938 · NAACL · 2016

"Why Should I Trust You?": Explaining the Predictions of Any Classifier

Carlos Guestrin, Sameer Singh, Marco Ribeiro

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 19 functions out of this paper's own repositories and ran 6 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
marcotcr/lime-experiments canonical 1 of 2
dailab/maxi-xai-lib — 3 of 6
rashidrao-pk/lime_stratified — 1 of 1
marcotcr/lime — 1 of 1
aildnont/HIFIS-model pwc_unofficial 0 of 7
nyuvis/explanation_explorer pwc_unofficial 0 of 2
FunctionStatusWhere it lives
LimeBase Ran rashidrao-pk/lime_stratified/lime/lime_base.py
code served (permissive licence) · get_code("42b2a390d8ff275b")
LimeBase Ran marcotcr/lime/lime/lime_base.py
code served (permissive licence) · get_code("1c5395421c214d40")
LoadMultiDomainDataset Ran marcotcr/lime-experiments/load_datasets.py
code served (permissive licence) · get_code("cf7a25ab27f89e9a")
URVGradientEstimator Ran dailab/maxi-xai-lib/src/maxi/lib/loss/lime_loss.py
code served (permissive licence) · get_code("3db066a795db215a")
USRVGradientEstimator Ran dailab/maxi-xai-lib/src/maxi/lib/loss/lime_loss.py
code served (permissive licence) · get_code("c7d5a85f36753c55")
to_numpy Ran dailab/maxi-xai-lib/src/maxi/lib/loss/lime_loss.py
code served (permissive licence) · get_code("eca7268d93d00565")
BaseExplanationModel Not yet run dailab/maxi-xai-lib/src/maxi/lib/loss/lime_loss.py
code served (permissive licence) · get_code("979f6f402b2b9b46")
BaseGradient Not yet run dailab/maxi-xai-lib/src/maxi/lib/loss/lime_loss.py
code served (permissive licence) · get_code("1a1d95102a5a11e4")
LimeLoss Not yet run dailab/maxi-xai-lib/src/maxi/lib/loss/lime_loss.py
code served (permissive licence) · get_code("b4ef3290d7e28bce")
LoadDataset Not yet run marcotcr/lime-experiments/load_datasets.py
code served (permissive licence) · get_code("08eafab62d4e85de")
f1_loss Not yet run aildnont/HIFIS-model/src/custom/losses.py
code served (permissive licence) · get_code("eddf4f6a3b167f89")
get_server Not yet run nyuvis/explanation_explorer/server.py
code served (permissive licence) · get_code("65a415ee59253e1f")
hifis_mlp Not yet run aildnont/HIFIS-model/src/models/models.py
code served (permissive licence) · get_code("fda9eb61df66c32b")
load Not yet run nyuvis/explanation_explorer/defs.py
code served (permissive licence) · get_code("da2220784f8447f3")
plot_confusion_matrix Not yet run aildnont/HIFIS-model/src/visualization/visualize.py
code served (permissive licence) · get_code("d83a0853d1cf871a")
plot_roc Not yet run aildnont/HIFIS-model/src/visualization/visualize.py
code served (permissive licence) · get_code("d180a13668906ebd")
predict_and_explain Not yet run aildnont/HIFIS-model/src/interpretability/lime_explain.py
code served (permissive licence) · get_code("289cf6ebf79d47d9")
predict_instance Not yet run aildnont/HIFIS-model/src/interpretability/lime_explain.py
code served (permissive licence) · get_code("58d534b81925a997")
visualize_multiple_explanations Not yet run aildnont/HIFIS-model/src/visualization/visualize.py
code served (permissive licence) · get_code("9254beefe009bdda")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Despite widespread adoption, machine learning models remain mostly black boxes. Understanding the reasons behind predictions is, however, quite important in assessing trust, which is fundamental if one plans to take action based on a prediction, or when choosing whether to deploy a new model. Such understanding also provides insights into the model, which can be used to transform an untrustworthy model or prediction into a trustworthy one. In this work, we propose LIME, a novel explanation technique that explains the predictions of any classifier in an interpretable and faithful manner, by learning an interpretable model locally around the prediction. We also propose a method to explain models by presenting representative individual predictions and their explanations in a non-redundant way, framing the task as a submodular optimization problem. We demonstrate the flexibility of these methods by explaining different models for text (e.g. random forests) and image classification (e.g. neural networks). We show the utility of explanations via novel experiments, both simulated and with human subjects, on various scenarios that require trust: deciding if one should trust a prediction, choosing between models, improving an untrustworthy classifier, and identifying why a classifier should not be trusted.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("1602.04938")
get_code_for_paper("1602.04938")
have("1602.04938")

Connect an agent — have() is free.