- Notifications
You must be signed in to change notification settings - Fork332
A library for debugging/inspecting machine learning classifiers and explaining their predictions
License
TeamHG-Memex/eli5
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
ELI5 is a Python package which helps to debug machine learningclassifiers and explain their predictions.
It provides support for the following machine learning frameworks and packages:
- scikit-learn. Currently ELI5 allows to explain weights and predictionsof scikit-learn linear classifiers and regressors, print decision treesas text or as SVG, show feature importances and explain predictionsof decision trees and tree-based ensembles. ELI5 understands textprocessing utilities from scikit-learn and can highlight text dataaccordingly. Pipeline and FeatureUnion are supported.It also allows to debug scikit-learn pipelines which containHashingVectorizer, by undoing hashing.
- Keras - explain predictions of image classifiers via Grad-CAM visualizations.
- xgboost - show feature importances and explain predictions of XGBClassifier,XGBRegressor and xgboost.Booster.
- LightGBM - show feature importances and explain predictions ofLGBMClassifier and LGBMRegressor.
- CatBoost - show feature importances of CatBoostClassifier,CatBoostRegressor and catboost.CatBoost.
- lightning - explain weights and predictions of lightning classifiers andregressors.
- sklearn-crfsuite. ELI5 allows to check weights of sklearn_crfsuite.CRFmodels.
ELI5 also implements several algorithms for inspecting black-box models(seeInspecting Black-Box Estimators):
- TextExplainer allows to explain predictionsof any text classifier usingLIME algorithm (Ribeiro et al., 2016).There are utilities for using LIME with non-text data and arbitrary black-boxclassifiers as well, but this feature is currently experimental.
- Permutation importance method can be used to compute feature importancesfor black box estimators.
Explanation and formatting are separated; you can get text-based explanationto display in console, HTML version embeddable in an IPython notebookor web dashboards, apandas.DataFrame
object if you want to processresults further, or JSON version which allows to implement custom renderingand formatting on a client.
License is MIT.
Checkdocs for more.
About
A library for debugging/inspecting machine learning classifiers and explaining their predictions