Giter Club home page Giter Club logo

skater's Introduction

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.

Build Status https://coveralls.io/repos/github/datascienceinc/Skater/badge.svg?branch=master

HighLevel Design

https://github.com/datascienceinc/Skater/blob/master/presentations/designs/interpretable_mls.png

Skater in action on an example image classification problem

https://github.com/datascienceinc/Skater/blob/master/presentations/designs/example_inference.png

๐Ÿ“– 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

Scalable Bayesian Rule Lists

Tree Surrogates

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

  1. Interpreting predictive models with Skater: Unboxing model opacity
  2. Molnar Christoph, Interpretable Machine Learning
  3. Sarkar Dipanjan et al., Practical Machine Learning with Python
  4. O'Reilly article(part1) - Interpreting predictive models with Skater: Unboxing model opacity

skater's People

Contributors

aikramer2 avatar pramitchoudhary avatar silversurfer84 avatar benvandyke avatar bacook17 avatar limscoder avatar glemaitre avatar nithanaroy avatar alvinthai avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.