HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
marcotcr
lime
JavaScript2016–2021
marcotcr / lime

lime

Lime: Explaining the predictions of any machine learning classifier

22Distinct people
27Mentions
0Explicit recommenders
12.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Lime: Explaining the predictions of any machine learning classifier

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

  • shap/shap · linked in 2 of the same discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:03:30 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year27 dated mentions

Observed mentions: 2016-04-21 10:40:58 UTC to 2021-05-15 23:30:41 UTC.

0510152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 13 mentions; 3 submissions, 10 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC523
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC13310
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC523
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
lime This project is about explaining what machine learning classifiers (or models) are doing. At the moment, we support explaining individual predictions for text classifiers or classifiers that act on tables (numpy arrays of numerical or categorical data) or images, with a package called lime (short for local interpretable model-agnostic explanations). Lime is based on the work presented in this paper (bibtex here for citation). Here is a link to the promo video: Our plan is to add more packages that help users understand and interact meaningfully with machine learning. Lime is able to explain any black box classifier, with two or more classes. All we require is that the classifier implements a function that takes in raw text or a numpy array and outputs a probability for each class. Support for scikit-learn classifiers is built-in. Installation The lime package is on PyPI. Simply run: pip install lime Or clone the repository and run: pip install . We dropped python2 support in 0.2.0, 0.1.1.37 was the last version before that. Screenshots Below are some screenshots of lime explanations. These are generated in html, and can be easily produced and embedded in ipython notebooks. We also support visualizations using matplotlib, although they don't look as nice as these ones. Two class case, text Negative (blue) words indicate atheism, while positive (orange) words indicate christian. The way to interpret the weights by applying them to the prediction probabilities. For example, if we remove the words Host and NNTP from the document, we expect the classifier to predict atheism with probability 0.58 - 0.14 - 0.11 = 0.31. Multiclass case Tabular data Images (explaining prediction of 'Cat' in pros and cons) Tutorials and API For example usage for text classifiers, take a look at the following two tutorials (generated from ipython notebooks): Basic usage, two class. We explain random forest classifiers. Multiclass case For classifiers that use numerical or categorical data, take a look at the following tutorial (this is newer, so please let me know if you find something wrong): Tabular data Tabular data with H2O models Latin Hypercube Sampling For image classifiers: Images - basic Images - Faces Images with Keras MNIST with random forests Images with PyTorch For regression: Simple regression Submodular Pick: Submodular Pick The raw (non-html) notebooks for these tutorials are available here. The API reference is available here. What are explanations? Intuitively, an explanation is a local linear approximation of the model's behaviour. While the model may be very complex globally, it is easier to approximate it around the vicinity of a particular instance. While treating the model as a black box, we perturb the instance we want to explain and learn a sparse linear model around it, as an explanation. The figure below illustrates the intuition for this procedure. The model's decision function is represented by the blue/pink background, and is clearly nonlinear. The bright red cross is the instance being explained (let's call it X). We sample instances around X, and weight them according to their proximity to X (weight here is indicated by size). We then learn a linear model (dashed line) that approximates the model well in the vicinity of X, but not necessarily globally. For more information, read our paper, or take a look at this blog post. Contributing Please read this.
Read the full README on GitHub

What Hacker News says

2 sources
I understand your concerns, but there is a large body of XAI research that addresses them. For example, there are post-hoc explainability algorithms like LIME (https://github.com/marcotcr/lime) that "explain" the classification decisions of machine learning models. The obvious alternative is to use (deep) learning only to mine simpler, fully explainable models (sacrifice correlation power for intelligibility). What I don't think exist yet are approaches that go full scale with the "reasoning backwards" approach. Like a neural network making a BS classification decision and then trying to "reason backwards" in a symbolic way to defend the decision. But works like this one: https://openai.com/blog/debate/ go roughly into this direction (the work seemed to be, at the time of writing, in its infancy).
In A Robot That Explains Its Actions
Neural networks are NOT hard to understand. Tools like LIME[1] have been around for a few years, and work really well for inspecting and understanding the decisions made by NNs. It's true that complex decisions are hard to explain, but LIME does a better job than (say) anyway of trying to explain a SVN+Human coded feature. LIME has been out since 2016. It and similar techniques are widely used in production systems. It's time this "NNs are hard to understand" idea died. [1] https://github.com/marcotcr/lime
In Outrageously Large Neural Nets: Sparsely-Gated Mixture-of-Experts Layer (2017)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.