Table of Contents
Fetching ...

InterpretML: A Unified Framework for Machine Learning Interpretability

Harsha Nori, Samuel Jenkins, Paul Koch, Rich Caruana

TL;DR

InterpretML addresses the need for interpretable ML by providing a unified framework that spans glassbox interpretability and blackbox explanations via a common API and visualization suite. It introduces the Explainable Boosting Machine (EBM), a GAM-like glassbox method capable of learning feature functions with optional pairwise interactions, designed for accuracy and interpretability. The package emphasizes compatibility with existing open-source tools (scikit-learn, Jupyter) and offers access to LIME, SHAP, partial dependence, and SALib through a cohesive interface. Empirically, EBMs show competitive performance across datasets and offer fast, memory-efficient prediction, albeit with higher training cost, enabling practical deployment and regulatory readability.

Abstract

InterpretML is an open-source Python package which exposes machine learning interpretability algorithms to practitioners and researchers. InterpretML exposes two types of interpretability - glassbox models, which are machine learning models designed for interpretability (ex: linear models, rule lists, generalized additive models), and blackbox explainability techniques for explaining existing systems (ex: Partial Dependence, LIME). The package enables practitioners to easily compare interpretability algorithms by exposing multiple methods under a unified API, and by having a built-in, extensible visualization platform. InterpretML also includes the first implementation of the Explainable Boosting Machine, a powerful, interpretable, glassbox model that can be as accurate as many blackbox models. The MIT licensed source code can be downloaded from github.com/microsoft/interpret.

InterpretML: A Unified Framework for Machine Learning Interpretability

TL;DR

InterpretML addresses the need for interpretable ML by providing a unified framework that spans glassbox interpretability and blackbox explanations via a common API and visualization suite. It introduces the Explainable Boosting Machine (EBM), a GAM-like glassbox method capable of learning feature functions with optional pairwise interactions, designed for accuracy and interpretability. The package emphasizes compatibility with existing open-source tools (scikit-learn, Jupyter) and offers access to LIME, SHAP, partial dependence, and SALib through a cohesive interface. Empirically, EBMs show competitive performance across datasets and offer fast, memory-efficient prediction, albeit with higher training cost, enabling practical deployment and regulatory readability.

Abstract

InterpretML is an open-source Python package which exposes machine learning interpretability algorithms to practitioners and researchers. InterpretML exposes two types of interpretability - glassbox models, which are machine learning models designed for interpretability (ex: linear models, rule lists, generalized additive models), and blackbox explainability techniques for explaining existing systems (ex: Partial Dependence, LIME). The package enables practitioners to easily compare interpretability algorithms by exposing multiple methods under a unified API, and by having a built-in, extensible visualization platform. InterpretML also includes the first implementation of the Explainable Boosting Machine, a powerful, interpretable, glassbox model that can be as accurate as many blackbox models. The MIT licensed source code can be downloaded from github.com/microsoft/interpret.

Paper Structure

This paper contains 3 sections, 2 equations, 4 figures.

Figures (4)

  • Figure 1: API architecture and code examples
  • Figure 2: Left: Function fAge. As 'Age' increases from 20 to 50, p(1) increases significantly. Right: Individual prediction, where the 'CapitalGain' feature dominates.
  • Figure 3: Classification performance for models across datasets (rows, columns).
  • Figure 4: Computational performance for models across datasets (rows, columns).