An open-source Python package for training interpretable glassbox models and explaining blackbox machine learning systems.
InterpretML is an open-source Python package that provides a unified framework for machine learning interpretability. It allows data scientists to train inherently interpretable 'glassbox' models like the Explainable Boosting Machine and to generate explanations for complex 'blackbox' models using techniques like SHAP and LIME. It solves the critical problem of understanding and trusting ML models in high-risk domains such as healthcare, finance, and judicial applications.
Data scientists, ML engineers, and researchers who need to build, debug, audit, or deploy machine learning models where transparency, fairness, and regulatory compliance are required.
Developers choose InterpretML because it combines state-of-the-art accuracy with full interpretability in a single package, eliminating the traditional trade-off. Its flagship Explainable Boosting Machine matches the performance of random forests and gradient boosting while providing exact, visual explanations, and it unifies multiple explanation techniques under a consistent API.
Fit interpretable models. Explain blackbox machine learning.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The Explainable Boosting Machine matches or exceeds blackbox models like XGBoost on benchmark datasets (e.g., Adult Income, Breast Cancer), providing interpretability without compromising performance.
Integrates multiple techniques—SHAP, LIME, partial dependence—under a single API, simplifying model auditing and comparison with consistent functions like `explain_global()` and `show()`.
Generates rich, browser-based dashboards using Plotly for exploring and comparing explanations, enhancing stakeholder communication and model debugging.
Offers Differentially Private EBMs with configurable epsilon and delta, enabling interpretable model training with formal privacy guarantees, a standout feature in the interpretability landscape.
EBM training and some explainers can be slow on very large datasets; the README admits that for scales beyond 100 million samples, distributed systems like Azure SynapseML are recommended.
Primarily designed for structured data, lacking built-in support for explaining complex models on unstructured data such as deep neural networks in vision or NLP.
Requires tuning hyperparameters for interactions and privacy settings, and the unified API abstracts lower-level control, which can be non-trivial for users new to additive models.