Explainable AI: An Introduction to SHAP and LIME

As AI models grow more complex, understanding why a specific model made a specific prediction becomes genuinely harder — SHAP and LIME are two of the most widely used techniques for opening up that black box.

LIME: Local Approximation

# LIME explains a SINGLE prediction by approximating the complex model's
# behavior LOCALLY, near that specific input, with a simple, interpretable model

from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(training_data, feature_names=feature_names)
explanation = explainer.explain_instance(specific_input, model.predict_proba)
explanation.show_in_notebook()
# Output: "This loan was denied primarily because of: income (-0.3),
#          debt_ratio (-0.2), credit_history_length (+0.1)"

SHAP: Grounded in Game Theory

SHAP (SHapley Additive exPlanations) uses Shapley values, a concept from cooperative game theory, to fairly attribute a prediction’s outcome across each contributing input feature — genuinely more theoretically rigorous and consistent than LIME’s local approximation approach, at a real, higher computational cost to compute.

Why This Matters Beyond Curiosity

  • Regulatory compliance — several jurisdictions genuinely require an explanation for automated decisions (loan denials, insurance pricing) that directly affect individuals
  • Debugging — a model relying heavily on a feature it genuinely shouldn’t (like a proxy for a protected characteristic) is a real red flag these tools surface directly
  • Building genuine trust — stakeholders are understandably far more willing to act on a model’s output when they can actually see the real reasoning behind it