Knowledge Base Regulation Tracker Standards & Frameworks OSS Directory AI Incident Database Research Paper Library Case Studies Society Articles News Jobs About Charter Sign inBecome a Member
Home/OSS Directory/InterpretML

InterpretML

Explainability and feature attribution

Toolkit for training glassbox models such as Explainable Boosting Machines and for explaining blackbox models, with a unified API and interactive visualisations. Named in the taxonomy.

glassbox modelsebmexplainability

InterpretML: A Unified Framework for Machine Learning Interpretability

InterpretML is an open-source toolkit developed by Microsoft Research that provides a cohesive framework for training interpretable glassbox models and explaining blackbox models. Released in 2019 under the MIT license, InterpretML is designed to bridge the gap between model accuracy and interpretability, offering a unified API and interactive visualizations to facilitate understanding. The toolkit supports Python 3.10+ across Windows, Mac, and Linux, ensuring broad accessibility for data scientists and researchers.

The core motivation behind InterpretML stems from the challenges posed by blackbox models, which often lack transparency in their decision-making processes. By incorporating state-of-the-art interpretability techniques, InterpretML enables users to debug models, engineer features effectively, detect fairness issues, ensure regulatory compliance, and foster trust in high-risk applications such as healthcare, finance, and judicial systems. Its design aligns with the growing demand for explainable AI, where interpretability is not just a feature but a necessity.

How It Works

InterpretML operates by integrating two primary functionalities: training glassbox models and explaining blackbox models. Glassbox models, such as Explainable Boosting Machines (EBMs), are inherently interpretable and provide exact explanations for both global model behavior and individual predictions. These models are trained using modern machine learning techniques, including bagging, gradient boosting, and automatic interaction detection, which enhance their accuracy while maintaining transparency.

The toolkit leverages a scikit-learn-compatible interface, allowing users to train models using familiar syntax. For instance, an Explainable Boosting Machine can be trained with a simple call to ExplainableBoostingClassifier(), followed by fitting the model to training data. Once trained, global and local explanations can be generated using methods like explainglobal() and explainlocal(), respectively.

Additionally, InterpretML supports distributed training for large-scale datasets, with integration options for Azure SynapseML to handle workloads involving up to 100 million samples.

Use Cases

InterpretML is particularly valuable in domains where model transparency is critical. In healthcare, for example, EBMs have been used to predict pneumonia risk and hospital readmission with accuracy comparable to blackbox models like Random Forest and XGBoost. A study demonstrated that EBMs achieved an AUROC of 0.898 on a heart disease dataset, outperforming logistic regression (0.895) and matching the performance of Random Forest (0.890).

Beyond accuracy, InterpretML enables feature attribution, allowing users to identify which features contribute most to predictions. For instance, in a local explanation for the Adult Income dataset, the probability of high income for an individual might be heavily influenced by features like CapitalGains, with log-odds scores providing a clear, modular breakdown of each feature’s impact. This level of detail is invaluable for debugging, feature engineering, and ensuring fairness in model decisions.

In regulatory compliance scenarios, InterpretML helps organizations demonstrate that their models adhere to legal requirements by providing clear, auditable explanations. Similarly, in high-risk applications such as judicial systems, InterpretML’s transparency ensures that model decisions can be scrutinized and justified, reducing the risk of erroneous or unfair outcomes.

Glassbox Models

InterpretML supports a variety of glassbox models, including Explainable Boosting Machines (EBMs), Adaptive Partial Least Squares Regression (APLR), Decision Trees, Decision Rule Lists, and Linear/Logistic Regression. Each of these models is designed to be interpretable by nature, with EBMs standing out for their ability to incorporate pairwise interactions while maintaining accuracy.

EBMs are implemented as Generalized Additive Models (GAMs) with enhancements such as bagging, gradient boosting, and automatic interaction detection. This design allows EBMs to achieve accuracy comparable to blackbox models while providing exact explanations for predictions. For example, the contribution of each feature to a prediction can be visualized as a function, enabling users to understand how individual features influence outcomes. This modularity is a key advantage, as it simplifies the process of editing models to reflect domain knowledge or correct biases.

Blackbox Model Explanations

These methods can be applied to any machine learning pipeline, including ensembles, pre-processing steps, and deep neural networks. This flexibility makes InterpretML a versatile tool for post-hoc analysis.

Interactive Visualizations

InterpretML’s interactive visualizations are a cornerstone of its usability. Global explanations provide an overview of feature importance across the entire dataset, while local explanations offer detailed insights into individual predictions. These visualizations are generated using Plotly and Dash, ensuring compatibility with Jupyter notebooks and web-based environments. Users can filter, search, and drill down into features to explore relationships, detect anomalies, and validate model behavior.

Performance and Scalability

InterpretML is optimized for performance, with EBMs designed for fast prediction times and low memory usage. The implementation is parallelizable, leveraging joblib for multi-core and multi-machine training. For large-scale datasets, InterpretML supports distributed training via Azure SynapseML, enabling users to train EBMs on datasets with up to 100 million samples.

Privacy and Compliance

DP-EBMs maintain the same functionality as standard EBMs, enabling users to generate global and local explanations without compromising data confidentiality.

Integration and Extensibility

InterpretML is built on top of several open-source libraries, including scikit-learn, LIME, SHAP, and Plotly.

Technical Foundations

GA2Ms extend traditional GAMs by incorporating interaction terms and modern machine learning techniques, such as bagging and gradient boosting, to improve accuracy while maintaining interpretability. The EBM implementation in InterpretML is optimized for speed and scalability, with support for pairwise and higher-order interactions.

EBMs operate by decomposing predictions into additive terms, where each term corresponds to a feature or interaction. During training, EBMs use a cyclic gradient boosting approach to learn feature functions, with interactions detected automatically. This process ensures that the model remains interpretable, as each feature’s contribution can be visualized and understood independently. The modular nature of EBMs also allows for easy editing, enabling domain experts to refine model behavior based on their knowledge.

The theoretical foundations of EBMs are documented in several academic papers, including Accurate Intelligible Models with Pairwise Interactions (2013), Intelligible Models for Healthcare (2015), and Axiomatic Interpretability for Multiclass Additive Models (2019). InterpretML builds on these foundations, offering a practical implementation that is both accessible and powerful.

Evolution and Updates

Since its initial release in 2019, InterpretML has undergone continuous development, with regular updates to improve performance, usability, and compatibility. Recent releases, such as version 0.7.8 (March 2026), have focused on optimizing the build process, reducing dependencies, and improving visualization performance. These updates reflect InterpretML’s commitment to maintaining a lightweight, efficient, and user-friendly toolkit.

The development of InterpretML has been driven by a collaborative effort, with contributions from researchers at Microsoft Research, including Samuel Jenkins, Harsha Nori, Paul Koch, and Rich Caruana. The toolkit’s design philosophy emphasizes accessibility, ensuring that users can train interpretable models and generate explanations with minimal overhead. By providing a unified API and interactive visualizations, InterpretML lowers the barrier to entry for explainable AI, making it accessible to both researchers and practitioners.

Supported Techniques and Models

InterpretML supports a comprehensive set of interpretability techniques, categorized into glassbox models and blackbox explainers. Glassbox models include Explainable Boosting Machines, APLR, Decision Trees, Decision Rule Lists, and Linear/Logistic Regression. These models are designed to be inherently interpretable, with EBMs and APLR offering advanced capabilities such as interaction detection and adaptive feature learning.

Explainable Boosting | glassbox model

This diversity of techniques ensures that InterpretML can address a wide range of use cases, from training inherently interpretable models to explaining complex blackbox systems. The unified API simplifies the process of integrating these techniques into existing workflows, while the interactive visualizations provide actionable insights into model behavior.

Practical Example: Training and Explaining an EBM

To illustrate InterpretML’s capabilities, consider a practical example using the UCI Adult Income dataset. The dataset contains features such as Age, Education, CapitalGains, and Income, with the goal of predicting whether an individual’s income exceeds $50,000.

  • Data Preparation: Load the dataset into a pandas DataFrame and split it into training and testing sets. No special preprocessing is required, as InterpretML handles native string data and numerical arrays.
  • This can be done with a single call to ebm.fit(Xtrain, ytrain), leveraging InterpretML’s scikit-learn-compatible interface.
  • Global Explanation: Generate a global explanation using ebm.explainglobal() to understand the overall behavior of the model. This visualization highlights the most important features, such as Age, Education, and CapitalGains, and allows users to drill down into individual feature relationships.
  • Local Explanation: Generate local explanations using ebm.explainlocal(Xtest, ytest) to examine individual predictions. For example, the prediction for an individual with high CapitalGains might show a log-odds score of 2.3, indicating a strong positive influence on the probability of high income.

This workflow demonstrates InterpretML’s ability to provide both high-level insights and granular details, making it a versatile tool for model analysis and debugging.

Performance Benchmarks

The table below compares the AUROC (Area Under the Receiver Operating Characteristic curve) of EBMs against Logistic Regression, Random Forest, and XGBoost on five datasets: Adult Income, Heart Disease, Breast Cancer, Telecom Churn, and Credit Fraud.

Dataset/AUROC | Domain | Logistic Regression | Random Forest | XGBoost | Explainable Boosting Machine

Adult Income | Finance | 0.907±0.003 | 0.903±0.002 | 0.927±0.001 | 0.928±0.002

Heart Disease | Medical | 0.895±0.030 | 0.890±0.008 | 0.851±0.018 | 0.898±0.013

Breast Cancer | Medical | 0.995±0.005 | 0.992±0.009 | 0.992±0.010 | 0.995±0.006

Telecom Churn | Business | 0.849±0.005 | 0.824±0.004 | 0.828±0.10 | 0.852±0.006

Credit Fraud | Security | 0.979±0.002 | 0.950±0.007 | 0.981±0.003 | 0.981±0.003

These results highlight EBMs’ ability to achieve accuracy comparable to state-of-the-art blackbox models while maintaining interpretability.

Differentially Private EBMs

The resulting model produces global and local explanations identical to those of standard EBMs, enabling users to maintain interpretability while preserving data privacy.

Integration with Other Tools

InterpretML is designed to integrate seamlessly with other open-source tools and libraries. Its compatibility with scikit-learn ensures that users can incorporate InterpretML into existing workflows with minimal disruption. For instance, InterpretML’s glassbox models can be used alongside scikit-learn’s preprocessing steps, such as Principal Component Analysis or feature scaling, to create end-to-end interpretable pipelines.

Additionally, InterpretML’s visualizations are built using Plotly and Dash, ensuring compatibility with Jupyter notebooks and web-based environments. This flexibility allows users to share explanations with stakeholders who may not have access to the underlying data or models.

Community and Citations

InterpretML has been widely adopted by the machine learning community, with over 6,900 stars on GitHub as of 2026.

The toolkit’s permissive MIT license further facilitates adoption, allowing organizations to incorporate InterpretML into proprietary systems without legal restrictions.

Limitations and Considerations

While InterpretML offers powerful capabilities for model interpretability, it is important to acknowledge its limitations. However, InterpretML’s support for distributed training and optimizations in recent versions mitigates this challenge. Additionally, the toolkit’s focus on interpretability may limit its applicability in scenarios where model accuracy is prioritized over transparency.

Users should also consider the trade-offs between interpretability and complexity. While glassbox models like EBMs provide exact explanations, they may require more effort to train and tune compared to blackbox models. Similarly, post-hoc explainability techniques, such as SHAP and LIME, may introduce approximations that do not fully capture the behavior of complex models.

Sources

Contribute

Spot an error, or know a record we should add? Members can propose additions and submit corrections.