Skater
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.
HighLevel Design
Skater in action on an example image classification problem
📖 Documentation
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 |
💬 Feedback/Questions
Feature Requests/Bugs | GitHub issue tracker |
Usage questions | Gitter chat |
General discussion | Gitter chat |
Install Skater
For detailed information on the dependencies and intallation instruction check out installing skater.
pip
Option 1: without rule lists and without deepinterpreter pip install -U skater Option 2: without rule lists and with deep-interpreter: 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.2 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.2
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
Testing
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()"
Usage and Examples
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.
Algorithms
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 |
Citation
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} }
R Client
Refer to https://github.com/christophM/iml
Books and blogs
- 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