Top Related Projects
A game theoretic approach to explain the output of any machine learning model.
Lime: Explaining the predictions of any machine learning classifier
Algorithms for explaining machine learning models
Responsible AI Toolbox is a suite of tools providing model and data exploration and assessment user interfaces and libraries that enable a better understanding of AI systems. These interfaces and libraries empower developers and stakeholders of AI systems to develop and monitor AI more responsibly, and take better data-driven actions.
Quick Overview
InterpretML is an open-source Python package that provides a unified framework for machine learning interpretability. It offers a collection of state-of-the-art machine learning interpretability techniques, allowing users to explain and understand the behavior of their models across various domains and model types.
Pros
- Supports a wide range of interpretability methods, including SHAP, LIME, and EBM
- Compatible with popular machine learning frameworks like scikit-learn, XGBoost, and LightGBM
- Provides both global and local explanations for model behavior
- Offers interactive visualizations for easier interpretation of results
Cons
- May have a steeper learning curve for users new to interpretability concepts
- Some advanced features might require additional dependencies
- Performance can be slower for very large datasets or complex models
- Limited support for deep learning models compared to traditional machine learning algorithms
Code Examples
- Loading data and training an Explainable Boosting Machine (EBM):
from interpret.glassbox import ExplainableBoostingClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_breast_cancer
# Load data and split into train/test sets
data = load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=0)
# Train an Explainable Boosting Machine
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
- Generating global explanations:
from interpret import show
# Generate global explanations
global_explanation = ebm.explain_global()
# Visualize the explanations
show(global_explanation)
- Creating local explanations for individual predictions:
# Generate local explanations for the first test instance
local_explanation = ebm.explain_local(X_test[:1], y_test[:1])
# Visualize the local explanations
show(local_explanation)
Getting Started
To get started with InterpretML, follow these steps:
- Install the package:
pip install interpret
- Import the necessary modules and load your data:
from interpret.glassbox import ExplainableBoostingClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=0)
- Train a model and generate explanations:
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
global_explanation = ebm.explain_global()
local_explanation = ebm.explain_local(X_test[:5], y_test[:5])
- Visualize the explanations:
from interpret import show
show(global_explanation)
show(local_explanation)
Competitor Comparisons
A game theoretic approach to explain the output of any machine learning model.
Pros of SHAP
- More focused on SHAP (SHapley Additive exPlanations) values, providing deeper insights into feature importance
- Offers a wider range of visualization options for SHAP values
- Supports more machine learning frameworks and model types
Cons of SHAP
- Less comprehensive in terms of overall model interpretability techniques
- May have a steeper learning curve for users new to SHAP concepts
- Can be computationally intensive for large datasets or complex models
Code Comparison
SHAP example:
import shap
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X)
shap.summary_plot(shap_values, X)
Interpret example:
from interpret import set_visualize_provider
from interpret.glassbox import ExplainableBoostingClassifier
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
ebm_global = ebm.explain_global()
Both libraries offer powerful tools for model interpretation, but SHAP focuses more on SHAP values and their visualizations, while Interpret provides a broader range of interpretability techniques. SHAP may be preferred for in-depth feature importance analysis, while Interpret offers a more comprehensive toolkit for overall model explanation.
Lime: Explaining the predictions of any machine learning classifier
Pros of LIME
- Simpler and more focused on a single interpretability technique
- Widely adopted and well-established in the ML community
- Easier to integrate into existing projects due to its lightweight nature
Cons of LIME
- Limited to local interpretability, lacking global explanations
- Less comprehensive feature set compared to Interpret
- May require additional libraries for certain model types or visualizations
Code Comparison
LIME:
from lime import lime_tabular
explainer = lime_tabular.LimeTabularExplainer(X_train)
exp = explainer.explain_instance(X_test[0], clf.predict_proba)
Interpret:
from interpret import set_visualize_provider
from interpret.glassbox import ExplainableBoostingClassifier
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
ebm_global = ebm.explain_global()
Summary
LIME focuses on local interpretability, offering a straightforward approach for explaining individual predictions. It's widely adopted and easy to integrate but lacks global explanations. Interpret provides a more comprehensive suite of interpretability tools, including both local and global explanations, but may have a steeper learning curve. The choice between the two depends on the specific needs of the project and the desired depth of model interpretability.
Algorithms for explaining machine learning models
Pros of Alibi
- Broader range of explainability methods, including counterfactual explanations and anchor explanations
- Better support for NLP and image data
- More active development and frequent updates
Cons of Alibi
- Steeper learning curve due to more complex API
- Less integration with popular ML frameworks like scikit-learn
- Fewer built-in visualizations compared to Interpret
Code Comparison
Alibi example:
from alibi.explainers import AnchorTabular
explainer = AnchorTabular(predict_fn, feature_names)
explanation = explainer.explain(X)
Interpret example:
from interpret import set_visualize_provider
from interpret.glassbox import ExplainableBoostingClassifier
ebm = ExplainableBoostingClassifier()
ebm.fit(X, y)
Both libraries offer powerful explainability tools, but Alibi provides a wider range of methods and better support for diverse data types. Interpret, on the other hand, offers a more user-friendly API and tighter integration with common ML workflows. The choice between the two depends on the specific use case and the user's familiarity with explainable AI concepts.
Responsible AI Toolbox is a suite of tools providing model and data exploration and assessment user interfaces and libraries that enable a better understanding of AI systems. These interfaces and libraries empower developers and stakeholders of AI systems to develop and monitor AI more responsibly, and take better data-driven actions.
Pros of responsible-ai-toolbox
- More comprehensive suite of tools for responsible AI, including fairness assessment and causal inference
- Stronger integration with Azure Machine Learning and other Microsoft services
- More active development and frequent updates
Cons of responsible-ai-toolbox
- Steeper learning curve due to broader scope and more complex features
- Potentially heavier resource requirements for some components
- More tightly coupled with Microsoft ecosystem, which may limit flexibility
Code Comparison
interpret:
from interpret import set_visualize_provider
from interpret.provider import InlineProvider
set_visualize_provider(InlineProvider())
from interpret.glassbox import ExplainableBoostingClassifier
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
responsible-ai-toolbox:
from raiwidgets import ResponsibleAIDashboard
from responsibleai import RAIInsights
rai_insights = RAIInsights(model=model,
train=X_train,
test=X_test,
target_column=target_column,
task_type='classification')
ResponsibleAIDashboard(rai_insights)
Both libraries offer model interpretability tools, but responsible-ai-toolbox provides a more extensive set of features for responsible AI practices. interpret focuses primarily on model explanations, while responsible-ai-toolbox includes additional capabilities like fairness assessment and error analysis. The code examples demonstrate the different approaches: interpret offers a more straightforward API for model explanations, while responsible-ai-toolbox provides a dashboard-based interface for comprehensive AI analysis.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
InterpretML
In the beginning machines learned in darkness, and data scientists struggled in the void to explain them.
Let there be light.
InterpretML is an open-source package that incorporates state-of-the-art machine learning interpretability techniques under one roof. With this package, you can train interpretable glassbox models and explain blackbox systems. InterpretML helps you understand your model's global behavior, or understand the reasons behind individual predictions.
Interpretability is essential for:
- Model debugging - Why did my model make this mistake?
- Feature Engineering - How can I improve my model?
- Detecting fairness issues - Does my model discriminate?
- Human-AI cooperation - How can I understand and trust the model's decisions?
- Regulatory compliance - Does my model satisfy legal requirements?
- High-risk applications - Healthcare, finance, judicial, ...
Installation
Python 3.7+ | Linux, Mac, Windows
pip install interpret
# OR
conda install -c conda-forge interpret
Introducing the Explainable Boosting Machine (EBM)
EBM is an interpretable model developed at Microsoft Research*. It uses modern machine learning techniques like bagging, gradient boosting, and automatic interaction detection to breathe new life into traditional GAMs (Generalized Additive Models). This makes EBMs as accurate as state-of-the-art techniques like random forests and gradient boosted trees. However, unlike these blackbox models, EBMs produce exact explanations and are editable by domain experts.
Dataset/AUROC | Domain | Logistic Regression | Random Forest | XGBoost | Explainable Boosting Machine |
---|---|---|---|---|---|
Adult Income | Finance | .907±.003 | .903±.002 | .927±.001 | .928±.002 |
Heart Disease | Medical | .895±.030 | .890±.008 | .851±.018 | .898±.013 |
Breast Cancer | Medical | .995±.005 | .992±.009 | .992±.010 | .995±.006 |
Telecom Churn | Business | .849±.005 | .824±.004 | .828±.010 | .852±.006 |
Credit Fraud | Security | .979±.002 | .950±.007 | .981±.003 | .981±.003 |
Notebook for reproducing table
Supported Techniques
Interpretability Technique | Type |
---|---|
Explainable Boosting | glassbox model |
APLR | glassbox model |
Decision Tree | glassbox model |
Decision Rule List | glassbox model |
Linear/Logistic Regression | glassbox model |
SHAP Kernel Explainer | blackbox explainer |
LIME | blackbox explainer |
Morris Sensitivity Analysis | blackbox explainer |
Partial Dependence | blackbox explainer |
Train a glassbox model
Let's fit an Explainable Boosting Machine
from interpret.glassbox import ExplainableBoostingClassifier
ebm = ExplainableBoostingClassifier()
ebm.fit(X_train, y_train)
# or substitute with LogisticRegression, DecisionTreeClassifier, RuleListClassifier, ...
# EBM supports pandas dataframes, numpy arrays, and handles "string" data natively.
Understand the model
from interpret import show
ebm_global = ebm.explain_global()
show(ebm_global)
Understand individual predictions
ebm_local = ebm.explain_local(X_test, y_test)
show(ebm_local)
And if you have multiple model explanations, compare them
show([logistic_regression_global, decision_tree_global])
If you need to keep your data private, use Differentially Private EBMs (see DP-EBMs)
from interpret.privacy import DPExplainableBoostingClassifier, DPExplainableBoostingRegressor
dp_ebm = DPExplainableBoostingClassifier(epsilon=1, delta=1e-5) # Specify privacy parameters
dp_ebm.fit(X_train, y_train)
show(dp_ebm.explain_global()) # Identical function calls to standard EBMs
For more information, see the documentation.
EBMs include pairwise interactions by default. For 3-way interactions and higher see this notebook: https://interpret.ml/docs/python/examples/custom-interactions.html
Interpret EBMs can be fit on datasets with 100 million samples in several hours. For larger workloads consider using distributed EBMs on Azure SynapseML: classification EBMs and regression EBMs
Acknowledgements
InterpretML was originally created by (equal contributions): Samuel Jenkins, Harsha Nori, Paul Koch, and Rich Caruana
EBMs are fast derivative of GA2M, invented by: Yin Lou, Rich Caruana, Johannes Gehrke, and Giles Hooker
Many people have supported us along the way. Check out ACKNOWLEDGEMENTS.md!
We also build on top of many great packages. Please check them out!
plotly | dash | scikit-learn | lime | shap | salib | skope-rules | treeinterpreter | gevent | joblib | pytest | jupyter
Citations
InterpretML
"InterpretML: A Unified Framework for Machine Learning Interpretability" (H. Nori, S. Jenkins, P. Koch, and R. Caruana 2019)
@article{nori2019interpretml, title={InterpretML: A Unified Framework for Machine Learning Interpretability}, author={Nori, Harsha and Jenkins, Samuel and Koch, Paul and Caruana, Rich}, journal={arXiv preprint arXiv:1909.09223}, year={2019} }Paper link
Explainable Boosting
"Intelligible models for healthcare: Predicting pneumonia risk and hospital 30-day readmission" (R. Caruana, Y. Lou, J. Gehrke, P. Koch, M. Sturm, and N. Elhadad 2015)
@inproceedings{caruana2015intelligible, title={Intelligible models for healthcare: Predicting pneumonia risk and hospital 30-day readmission}, author={Caruana, Rich and Lou, Yin and Gehrke, Johannes and Koch, Paul and Sturm, Marc and Elhadad, Noemie}, booktitle={Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining}, pages={1721--1730}, year={2015}, organization={ACM} }Paper link
"Accurate intelligible models with pairwise interactions" (Y. Lou, R. Caruana, J. Gehrke, and G. Hooker 2013)
@inproceedings{lou2013accurate, title={Accurate intelligible models with pairwise interactions}, author={Lou, Yin and Caruana, Rich and Gehrke, Johannes and Hooker, Giles}, booktitle={Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining}, pages={623--631}, year={2013}, organization={ACM} }Paper link
"Intelligible models for classification and regression" (Y. Lou, R. Caruana, and J. Gehrke 2012)
@inproceedings{lou2012intelligible, title={Intelligible models for classification and regression}, author={Lou, Yin and Caruana, Rich and Gehrke, Johannes}, booktitle={Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining}, pages={150--158}, year={2012}, organization={ACM} }Paper link
"Interpretability, Then What? Editing Machine Learning Models to Reflect Human Knowledge and Values" (Zijie J. Wang, Alex Kale, Harsha Nori, Peter Stella, Mark E. Nunnally, Duen Horng Chau, Mihaela Vorvoreanu, Jennifer Wortman Vaughan, Rich Caruana 2022)
@article{wang2022interpretability, title={Interpretability, Then What? Editing Machine Learning Models to Reflect Human Knowledge and Values}, author={Wang, Zijie J and Kale, Alex and Nori, Harsha and Stella, Peter and Nunnally, Mark E and Chau, Duen Horng and Vorvoreanu, Mihaela and Vaughan, Jennifer Wortman and Caruana, Rich}, journal={arXiv preprint arXiv:2206.15465}, year={2022} }Paper link
"Axiomatic Interpretability for Multiclass Additive Models" (X. Zhang, S. Tan, P. Koch, Y. Lou, U. Chajewska, and R. Caruana 2019)
@inproceedings{zhang2019axiomatic, title={Axiomatic Interpretability for Multiclass Additive Models}, author={Zhang, Xuezhou and Tan, Sarah and Koch, Paul and Lou, Yin and Chajewska, Urszula and Caruana, Rich}, booktitle={Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery \& Data Mining}, pages={226--234}, year={2019}, organization={ACM} }Paper link
"Distill-and-compare: auditing black-box models using transparent model distillation" (S. Tan, R. Caruana, G. Hooker, and Y. Lou 2018)
@inproceedings{tan2018distill, title={Distill-and-compare: auditing black-box models using transparent model distillation}, author={Tan, Sarah and Caruana, Rich and Hooker, Giles and Lou, Yin}, booktitle={Proceedings of the 2018 AAAI/ACM Conference on AI, Ethics, and Society}, pages={303--310}, year={2018}, organization={ACM} }Paper link
"Purifying Interaction Effects with the Functional ANOVA: An Efficient Algorithm for Recovering Identifiable Additive Models" (B. Lengerich, S. Tan, C. Chang, G. Hooker, R. Caruana 2019)
@article{lengerich2019purifying, title={Purifying Interaction Effects with the Functional ANOVA: An Efficient Algorithm for Recovering Identifiable Additive Models}, author={Lengerich, Benjamin and Tan, Sarah and Chang, Chun-Hao and Hooker, Giles and Caruana, Rich}, journal={arXiv preprint arXiv:1911.04974}, year={2019} }Paper link
"Interpreting Interpretability: Understanding Data Scientists' Use of Interpretability Tools for Machine Learning" (H. Kaur, H. Nori, S. Jenkins, R. Caruana, H. Wallach, J. Wortman Vaughan 2020)
@inproceedings{kaur2020interpreting, title={Interpreting Interpretability: Understanding Data Scientists' Use of Interpretability Tools for Machine Learning}, author={Kaur, Harmanpreet and Nori, Harsha and Jenkins, Samuel and Caruana, Rich and Wallach, Hanna and Wortman Vaughan, Jennifer}, booktitle={Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems}, pages={1--14}, year={2020} }Paper link
"How Interpretable and Trustworthy are GAMs?" (C. Chang, S. Tan, B. Lengerich, A. Goldenberg, R. Caruana 2020)
@article{chang2020interpretable, title={How Interpretable and Trustworthy are GAMs?}, author={Chang, Chun-Hao and Tan, Sarah and Lengerich, Ben and Goldenberg, Anna and Caruana, Rich}, journal={arXiv preprint arXiv:2006.06466}, year={2020} }Paper link
Differential Privacy
"Accuracy, Interpretability, and Differential Privacy via Explainable Boosting" (H. Nori, R. Caruana, Z. Bu, J. Shen, J. Kulkarni 2021)
@inproceedings{pmlr-v139-nori21a, title = {Accuracy, Interpretability, and Differential Privacy via Explainable Boosting}, author = {Nori, Harsha and Caruana, Rich and Bu, Zhiqi and Shen, Judy Hanwen and Kulkarni, Janardhan}, booktitle = {Proceedings of the 38th International Conference on Machine Learning}, pages = {8227--8237}, year = {2021}, volume = {139}, series = {Proceedings of Machine Learning Research}, publisher = {PMLR} }Paper link
LIME
"Why should i trust you?: Explaining the predictions of any classifier" (M. T. Ribeiro, S. Singh, and C. Guestrin 2016)
@inproceedings{ribeiro2016should, title={Why should i trust you?: Explaining the predictions of any classifier}, author={Ribeiro, Marco Tulio and Singh, Sameer and Guestrin, Carlos}, booktitle={Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining}, pages={1135--1144}, year={2016}, organization={ACM} }Paper link
SHAP
"A Unified Approach to Interpreting Model Predictions" (S. M. Lundberg and S.-I. Lee 2017)
@incollection{NIPS2017_7062, title = {A Unified Approach to Interpreting Model Predictions}, author = {Lundberg, Scott M and Lee, Su-In}, booktitle = {Advances in Neural Information Processing Systems 30}, editor = {I. Guyon and U. V. Luxburg and S. Bengio and H. Wallach and R. Fergus and S. Vishwanathan and R. Garnett}, pages = {4765--4774}, year = {2017}, publisher = {Curran Associates, Inc.}, url = {https://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predictions.pdf} }Paper link
"Consistent individualized feature attribution for tree ensembles" (Lundberg, Scott M and Erion, Gabriel G and Lee, Su-In 2018)
@article{lundberg2018consistent, title={Consistent individualized feature attribution for tree ensembles}, author={Lundberg, Scott M and Erion, Gabriel G and Lee, Su-In}, journal={arXiv preprint arXiv:1802.03888}, year={2018} }Paper link
"Explainable machine-learning predictions for the prevention of hypoxaemia during surgery" (S. M. Lundberg et al. 2018)
@article{lundberg2018explainable, title={Explainable machine-learning predictions for the prevention of hypoxaemia during surgery}, author={Lundberg, Scott M and Nair, Bala and Vavilala, Monica S and Horibe, Mayumi and Eisses, Michael J and Adams, Trevor and Liston, David E and Low, Daniel King-Wai and Newman, Shu-Fang and Kim, Jerry and others}, journal={Nature Biomedical Engineering}, volume={2}, number={10}, pages={749}, year={2018}, publisher={Nature Publishing Group} }Paper link
Sensitivity Analysis
"SALib: An open-source Python library for Sensitivity Analysis" (J. D. Herman and W. Usher 2017)
@article{herman2017salib, title={SALib: An open-source Python library for Sensitivity Analysis.}, author={Herman, Jonathan D and Usher, Will}, journal={J. Open Source Software}, volume={2}, number={9}, pages={97}, year={2017} }Paper link
"Factorial sampling plans for preliminary computational experiments" (M. D. Morris 1991)
@article{morris1991factorial, title={}, author={Morris, Max D}, journal={Technometrics}, volume={33}, number={2}, pages={161--174}, year={1991}, publisher={Taylor \& Francis Group} }Paper link
Partial Dependence
"Greedy function approximation: a gradient boosting machine" (J. H. Friedman 2001)
@article{friedman2001greedy, title={Greedy function approximation: a gradient boosting machine}, author={Friedman, Jerome H}, journal={Annals of statistics}, pages={1189--1232}, year={2001}, publisher={JSTOR} }Paper link
Open Source Software
"Scikit-learn: Machine learning in Python" (F. Pedregosa et al. 2011)
@article{pedregosa2011scikit, title={Scikit-learn: Machine learning in Python}, author={Pedregosa, Fabian and Varoquaux, Ga{\"e}l and Gramfort, Alexandre and Michel, Vincent and Thirion, Bertrand and Grisel, Olivier and Blondel, Mathieu and Prettenhofer, Peter and Weiss, Ron and Dubourg, Vincent and others}, journal={Journal of machine learning research}, volume={12}, number={Oct}, pages={2825--2830}, year={2011} }Paper link
"Collaborative data science" (Plotly Technologies Inc. 2015)
@online{plotly, author = {Plotly Technologies Inc.}, title = {Collaborative data science}, publisher = {Plotly Technologies Inc.}, address = {Montreal, QC}, year = {2015}, url = {https://plot.ly} }Link
"Joblib: running python function as pipeline jobs" (G. Varoquaux and O. Grisel 2009)
@article{varoquaux2009joblib, title={Joblib: running python function as pipeline jobs}, author={Varoquaux, Ga{\"e}l and Grisel, O}, journal={packages. python. org/joblib}, year={2009} }Link
Videos
- The Science Behind InterpretML: Explainable Boosting Machine
- How to Explain Models with InterpretML Deep Dive
- Black-Box and Glass-Box Explanation in Machine Learning
- Explainable AI explained! By-design interpretable models with Microsofts InterpretML
- Interpreting Machine Learning Models with InterpretML
- Machine Learning Model Interpretability using AzureML & InterpretML (Explainable Boosting Machine)
External links
- Machine Learning Interpretability in Banking: Why It Matters and How Explainable Boosting Machines Can Help
- Interpretable Machine Learning â Increase Trust and Eliminate Bias
- Enhancing Trust in Credit Risk Models: A Comparative Analysis of EBMs and GBMs
- Explainable AI: unlocking value in FEC operations
- Interpretable or Accurate? Why Not Both?
- The Explainable Boosting Machine. As accurate as gradient boosting, as interpretable as linear regression.
- Exploring explainable boosting machines
- Performance And Explainability With EBM
- InterpretML: Another Way to Explain Your Model
- A gentle introduction to GA2Ms, a white box model
- Model Interpretation with Microsoftâs Interpret ML
- Explaining Model Pipelines With InterpretML
- Explain Your Model with Microsoftâs InterpretML
- On Model Explainability: From LIME, SHAP, to Explainable Boosting
- Dealing with Imbalanced Data (Mortgage loans defaults)
- The right way to compute your Shapley Values
- The Art of Sprezzatura for Machine Learning
- Mixing Art into the Science of Model Explainability
- Automatic Piecewise Linear Regression
Papers that use or compare EBMs
- Data Science with LLMs and Interpretable Models
- DimVis: Interpreting Visual Clusters in Dimensionality Reduction With Explainable Boosting Machine
- Distill knowledge of additive tree models into generalized linear models
- Explainable Boosting Machines with Sparsity - Maintaining Explainability in High-Dimensional Settings
- Cost of Explainability in AI: An Example with Credit Scoring Models
- Interpretable Machine Learning Leverages Proteomics to Improve Cardiovascular Disease Risk Prediction and Biomarker Identification
- Interpretable Additive Tabular Transformer Networks
- Signature Informed Sampling for Transcriptomic Data
- Interpretable Survival Analysis for Heart Failure Risk Prediction
- LLMs Understand Glass-Box Models, Discover Surprises, and Suggest Repairs
- Model Interpretability in Credit Insurance
- Federated Boosted Decision Trees with Differential Privacy
- GAM(E) CHANGER OR NOT? AN EVALUATION OF INTERPRETABLE MACHINE LEARNING MODELS
- GAM Coach: Towards Interactive and User-centered Algorithmic Recourse
- Missing Values and Imputation in Healthcare Data: Can Interpretable Machine Learning Help?
- Practice and Challenges in Building a Universal Search Quality Metric
- Explaining Phishing Attacks: An XAI Approach to Enhance User Awareness and Trust
- Revealing the Galaxy-Halo Connection Through Machine Learning
- How the GalaxyâHalo Connection Depends on Large-Scale Environment
- Explainable Artificial Intelligence for COVID-19 Diagnosis Through Blood Test Variables
- Using Explainable Boosting Machines (EBMs) to Detect Common Flaws in Data
- Differentially Private Gradient Boosting on Linear Learners for Tabular Data Analysis
- Concrete compressive strength prediction using an explainable boosting machine model
- Proposing an inherently interpretable machine learning model for shear strength prediction of reinforced concrete beams with stirrups
- Using explainable machine learning and fitbit data to investigate predictors of adolescent obesity
- Estimate Deformation Capacity of Non-Ductile RC Shear Walls Using Explainable Boosting Machine
- Introducing the Rank-Biased Overlap as Similarity Measure for Feature Importance in Explainable Machine Learning: A Case Study on Parkinsonâs Disease
- Targeting resources efficiently and justifiably by combining causal machine learning and theory
- Extractive Text Summarization Using Generalized Additive Models with Interactions for Sentence Selection
- Death by Round Numbers: Glass-Box Machine Learning Uncovers Biases in Medical Practice
- Post-Hoc Interpretation of Transformer Hyperparameters with Explainable Boosting Machines
- Interpretable machine learning for predicting pathologic complete response in patients treated with chemoradiation therapy for rectal adenocarcinoma
- Exploring the Balance between Interpretability and Performance with carefully designed Constrainable Neural Additive Models
- Estimating Discontinuous Time-Varying Risk Factors and Treatment Benefits for COVID-19 with Interpretable ML
- StratoMod: Predicting sequencing and variant calling errors with interpretable machine learning
- Interpretable machine learning algorithms to predict leaf senescence date of deciduous trees
- Comparing Explainable Machine Learning Approaches With Traditional Statistical Methods for Evaluating Stroke Risk Models: Retrospective Cohort Study
- Cross Feature Selection to Eliminate Spurious Interactions and Single Feature Dominance Explainable Boosting Machines
- Multi-Objective Optimization of Performance and Interpretability of Tabular Supervised Machine Learning Models
- An explainable model to support the decision about the therapy protocol for AML
- Assessing wind field characteristics along the airport runway glide slope: an explainable boosting machine-assisted wind tunnel study
- Trustworthy Academic Risk Prediction with Explainable Boosting Machines
- Binary ECG Classification Using Explainable Boosting Machines for IoT Edge Devices
- Explainable artificial intelligence toward usable and trustworthy computer-aided diagnosis of multiple sclerosis from Optical Coherence Tomography
- An Interpretable Machine Learning Model with Deep Learning-based Imaging Biomarkers for Diagnosis of Alzheimerâs Disease
- Comparing explainable machine learning approaches with traditional statistical methods for evaluating stroke risk models: retrospective cohort study
- Explainable Artificial Intelligence for Cotton Yield Prediction With Multisource Data
- Monotone Tree-Based GAMI Models by Adapting XGBoost
- Neural Graphical Models
- FAST: An Optimization Framework for Fast Additive Segmentation in Transparent ML
- The Quantitative Analysis of Explainable AI for Network Anomaly Detection
- Enhancing Predictive Battery Maintenance Through the Use of Explainable Boosting Machine
- Improved Differentially Private Regression via Gradient Boosting
- Explainable Artificial Intelligence in Job Recommendation Systems
- Diagnosis uncertain models for medical risk prediction
- Extending Explainable Boosting Machines to Scientific Image Data
- Pest Presence Prediction Using Interpretable Machine Learning
- Key Thresholds and Relative Contributions of Knee Geometry, Anteroposterior Laxity, and Body Weight as Risk Factors for Noncontact ACL Injury
- A clinical prediction model for 10-year risk of self-reported osteoporosis diagnosis in pre- and perimenopausal women
- epitope1D: Accurate Taxonomy-Aware B-Cell Linear Epitope Prediction
- Explainable Boosting Machines for Slope Failure Spatial Predictive Modeling
- Micromodels for Efficient, Explainable, and Reusable Systems: A Case Study on Mental Health
- Identifying main and interaction effects of risk factors to predict intensive care admission in patients hospitalized with COVID-19
- Development of prediction models for one-year brain tumour survival using machine learning: a comparison of accuracy and interpretability
- Using Interpretable Machine Learning to Predict Maternal and Fetal Outcomes
- Calibrate: Interactive Analysis of Probabilistic Model Output
- Neural Additive Models: Interpretable Machine Learning with Neural Nets
- Improving Neural Additive Models with Bayesian Principles
- NODE-GAM: Neural Generalized Additive Model for Interpretable Deep Learning
- Scalable Interpretability via Polynomials
- Neural Basis Models for Interpretability
- ILMART: Interpretable Ranking with Constrained LambdaMART
- Integrating Co-Clustering and Interpretable Machine Learning for the Prediction of Intravenous Immunoglobulin Resistance in Kawasaki Disease
- Distilling Reinforcement Learning Policies for Interpretable Robot Locomotion: Gradient Boosting Machines and Symbolic Regression
- Proxy Endpoints - Bridging clinical trials and real world data
- Application of boosted trees to the prognosis prediction of COVIDâ19
- Explainable Gradient Boosting for Corporate Crisis Forecasting in Italian Businesses
- Revisiting differentially private XGBoost: Are random decision trees really better than greedy ones?
- Investigating Trust in Human-Machine Learning Collaboration: A Pilot Study on Estimating Public Anxiety from Speech
- pureGAM: Learning an Inherently Pure Additive Model
- GAMI-Net: An Explainable Neural Network based on Generalized Additive Models with Structured Interactions
- Interpretable Machine Learning based on Functional ANOVA Framework: Algorithms and Comparisons
- Using Model-Based Trees with Boosting to Fit Low-Order Functional ANOVA Models
- Interpretable generalized additive neural networks
- A Concept and Argumentation based Interpretable Model in High Risk Domains
- Analyzing the Differences between Professional and Amateur Esports through Win Probability
- Explainable machine learning with pairwise interactions for the classifcation of Parkinsonâs disease and SWEDD from clinical and imaging features
- Interpretable Prediction of Goals in Soccer
- Extending the Tsetlin Machine with Integer-Weighted Clauses for Increased Interpretability
- In Pursuit of Interpretable, Fair and Accurate Machine Learning for Criminal Recidivism Prediction
- From Shapley Values to Generalized Additive Models and back
- Developing A Visual-Interactive Interface for Electronic Health Record Labeling
- Development and Validation of an Interpretable 3-day Intensive Care Unit Readmission Prediction Model Using Explainable Boosting Machines
- Death by Round Numbers and Sharp Thresholds: How to Avoid Dangerous AI EHR Recommendations
- Building a predictive model to identify clinical indicators for COVID-19 using machine learning method
- Using Innovative Machine Learning Methods to Screen and Identify Predictors of Congenital Heart Diseases
- Explainable Boosting Machine for Predicting Alzheimerâs Disease from MRI Hippocampal Subfields
- Impact of Accuracy on Model Interpretations
- Machine Learning Algorithms for Identifying Dependencies in OT Protocols
- Causal Understanding of Why Users Share Hate Speech on Social Media
- Explainable Boosting Machine: A Contemporary Glass-Box Model to Analyze Work Zone-Related Road Traffic Crashes
- Efficient and Interpretable Traffic Destination Prediction using Explainable Boosting Machines
- Explainable Artificial Intelligence Paves the Way in Precision Diagnostics and Biomarker Discovery for the Subclass of Diabetic Retinopathy in Type 2 Diabetics
- A proposed tree-based explainable artificial intelligence approach for the prediction of angina pectoris
- Explainable Boosting Machine: A Contemporary Glass-Box Strategy for the Assessment of Wind Shear Severity in the Runway Vicinity Based on the Doppler Light Detection and Ranging Data
- On the Physical Nature of Lya Transmission Spikes in High Redshift Quasar Spectra
- GRAND-SLAMINâ Interpretable Additive Modeling with Structural Constraints
- Identification of groundwater potential zones in data-scarce mountainous region using explainable machine learning
- Explainable Classification Techniques for Quantum Dot Device Measurements
Books that cover EBMs
- Machine Learning for High-Risk Applications
- Interpretable Machine Learning with Python
- Explainable Artificial Intelligence: An Introduction to Interpretable Machine Learning
- Applied Machine Learning Explainability Techniques
- The eXplainable A.I.: With Python examples
- Platform and Model Design for Responsible AI: Design and build resilient, private, fair, and transparent machine learning models
- Explainable AI Recipes
- Ensemble Methods for Machine Learning
External tools
- EBM to Onnx converter by SoftAtHome
- EBM to SQL converter - ML 2 SQL
- EBM to PMML converter - SkLearn2PMML
- EBM visual editor - GAM Changer
- Interpreting Visual Clusters in Dimensionality Reduction - DimVis
Contact us
There are multiple ways to get in touch:
- Email us at interpret@microsoft.com
- Or, feel free to raise a GitHub issue
If a tree fell in your random forest, would anyone notice?
Top Related Projects
A game theoretic approach to explain the output of any machine learning model.
Lime: Explaining the predictions of any machine learning classifier
Algorithms for explaining machine learning models
Responsible AI Toolbox is a suite of tools providing model and data exploration and assessment user interfaces and libraries that enable a better understanding of AI systems. These interfaces and libraries empower developers and stakeholders of AI systems to develop and monitor AI more responsibly, and take better data-driven actions.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot