Skater is a unified framework to enable Model Interpretation for all forms of model to help one build an Interpretable machine learning system often needed for real world use-cases(** we are actively working towards to enabling faithful interpretability for all forms models). It is an open source python library designed to demystify the learned structures of a black box model both globally(inference on the basis of a complete data set) and locally(inference about an individual prediction).
The project was started as a research idea to find ways to enable better interpretability(preferably human interpretability) to predictive "black boxes" both for researchers and practioners. The project is still in beta phase.
Skater in action on an example image classification problem
Overview | Introduction to the Skater library |
Installing | How to install the Skater library |
Tutorial | Steps to use Skater effectively. |
API Reference | The detailed reference for Skater's API. |
Contributing | Guide to contributing to the Skater project. |
Examples | Interactive notebook examples |
Feature Requests/Bugs | GitHub issue tracker |
Usage questions | Gitter chat |
General discussion | Gitter chat |
For detailed information on the dependencies and intallation instruction check out installing skater.
Option 1: without rule lists and without deepinterpreter pip install -U skater Option 2: without rule lists and with deepinterpreter: 1. Ubuntu: pip3 install --upgrade tensorflow (follow instructions at https://www.tensorflow.org/install/ for details and best practices) 2. sudo pip install keras 3. pip install -U skater==1.1.1b2 Option 3: For everything included 1. conda install gxx_linux-64 2. Ubuntu: pip3 install --upgrade tensorflow (follow instructions https://www.tensorflow.org/install/ for details and best practices) 3. sudo pip install keras 4. sudo pip install -U --no-deps --force-reinstall --install-option="--rl=True" skater==1.1.1b2
To get the latest changes try cloning the repo and use the below mentioned commands to get started,
1. conda install gxx_linux-64 2. Ubuntu: pip3 install --upgrade tensorflow (follow instructions https://www.tensorflow.org/install/ for details and best practices) 3. sudo pip install keras 4. git clone the repo 5. sudo python setup.py install --ostype=linux-ubuntu --rl=True
1. If repo is cloned:
python skater/tests/all_tests.py
2. If pip installed:
python -c "from skater.tests.all_tests import run_tests; run_tests()"
Since the project is under active development, the best way to understand usage would be to follow the examples mentioned in the Gallery of Interactive Notebook.
Scope of Interpretation | Algorithms | |||||||
---|---|---|---|---|---|---|---|---|
Global Interpretation | Model agnostic Feature Importance | |||||||
Global Interpretation | Model agnostic Partial Dependence Plots | |||||||
Local Interpretation | Local Interpretable Model Explanation(LIME) | |||||||
Local Interpretation | DNNs |
|
||||||
Global and Local Interpretation | Scalable Bayesian Rule Lists |
If you decide to use Skater to resolve interpretability needs, please consider citing the project with the below mentioned DOI,
@misc{pramit_choudhary_2018_1198885, author = {Pramit Choudhary and Aaron Kramer and datascience.com team, contributors}, title = {{Skater: Model Interpretation Library}}, month = mar, year = 2018, doi = {10.5281/zenodo.1198885}, url = {https://doi.org/10.5281/zenodo.1198885} }
Refer to https://github.com/christophM/iml
- Interpreting predictive models with Skater: Unboxing model opacity
- Molnar Christoph, Interpretable Machine Learning
- Sarkar Dipanjan et al., Practical Machine Learning with Python
- O'Reilly article(part1) - Interpreting predictive models with Skater: Unboxing model opacity