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.
