What is ELI5?
ELI5 is a Python package that helps debug and visualize machine learning classifiers and explains their predictions. Acronym ELI5 stands for ‘Explain like I am a 5-year old’. It has built-in support for many machine learning frameworks, including scikit-learn, Keras, XGBoost, LightGBM, and more.
ELI5 supports interpretability for classification and regression models using these two options
- Global interpretation: Inspecting model parameters to figure out the big picture for model performance
- Local interpretation: Inspecting an individual parameter of a model to understand specific predictions made by the model
How Does ELI5 Help?
ELI5 is an ML model interpretation tool that provides a way to explain black-box models. Model interpretability helps check how the model arrived at the solution.
ELI5 supports inspecting and debugging ML classifiers for simple and complex cases. It supports model interpretability using a unified API. It helps teams with
- Ready-made functions that avail instant and well-formatted results
- Reusability for formatting code so that it can be used between various ML frameworks
- Reusability supported for drill-down code like text highlighting or feature filtering
Key Features of ELI5
scikit-learn support
ELI5 helps explain weights and predictions of scikit-learn regressors and linear classifiers. It understands scikit-learn’s text processing utilities to highlight text data accordingly. It shows feature importances, explains predictions of decision trees and tree-based ensembles, and prints decision trees as text or as SVG.
Inspecting Black-Box Estimators
ELI5 implements many algorithms to inspect black-box models. It allows debugging too complex text processing pipelines or a library not supported by ELI5 directly. For this, it offers TextExplainer to explain predictions of any text classifier using the LIME algorithm and the ‘Permutation Importance’ method to compute feature importances for black-box estimators.
XGBoost support
ELI5 helps show feature importances and explain predictions of XGBRegressor, XGBClassifier, and xgboost.Booster.
Lightning
ELI5 supports the lightning library to explain weights and predictions of lightning regressors and classifiers. It contains linear classifiers having API compatible with scikit-learn.
Keras, LightGBM, and CatBoost support
ELI5 supports Keras library to explain predictions of image classifiers via Grad-CAM visualizations. It also explains prediction and shows feature importances of LGBMClassifier, LGBMRegressor, CatBoostClassifier, and CatBoostRegressor.