Need help with PDPbox?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

SauceCat
624 Stars 102 Forks MIT License 227 Commits 21 Opened issues

Description

python partial dependence plot toolbox

Services available

!
?

Need anything else?

Contributors list

# 160,567
Jupyter...
HTML
Shell
TypeScr...
140 commits
# 201,705
Python
Jupyter...
scienti...
hyperpa...
28 commits
# 646,288
Jupyter...
Python
1 commit
# 649,239
Jupyter...
Python
1 commit

PDPbox

PyPI version Build Status

python partial dependence plot toolbox

Update! 😹

Update for versions:

xgboost==1.3.3
matplotlib==3.1.1
sklearn==0.23.1

Motivation

This repository is inspired by ICEbox. The goal is to visualize the impact of certain features towards model prediction for any supervised learning algorithm. (now support all scikit-learn algorithms)

The common headache

When using black box machine learning algorithms like random forest and boosting, it is hard to understand the relations between predictors and model outcome.

For example, in terms of random forest, all we get is the feature importance. Although we can know which feature is significantly influencing the outcome based on the importance calculation, it really sucks that we don’t know in which direction it is influencing. And in most of the real cases, the effect is non-monotonic.

We need some powerful tools to help understanding the complex relations between predictors and model prediction.

Highlight

  1. Helper functions for visualizing target distribution as well as prediction distribution.
  2. Proper way to handle one-hot encoding features.
  3. Solution for handling complex mutual dependency among features.
  4. Support multi-class classifier.
  5. Support two variable interaction partial dependence plot.

Documentation

  • Latest version: http://pdpbox.readthedocs.io/en/latest/
  • Historical versions:

Tutorials

https://github.com/SauceCat/PDPbox/tree/master/tutorials

Change Logs

https://github.com/SauceCat/PDPbox/blob/master/CHANGELOG.md

Installation

  • through pip (latest stable version: 0.2.1)

    $ pip install pdpbox
    
  • through git (latest develop version)

    $ git clone https://github.com/SauceCat/PDPbox.git
    $ cd PDPbox
    $ python setup.py install
    

Testing

PDPbox can be tested using

tox
.
  • First install
    tox
    and
    tox-venv
  $ pip install tox tox-venv
  • Call

    tox
    inside the pdpbox clone directory. This will run tests with python3.7.
  • To test the documentation, call

    tox -e docs
    . The documentation should open up in your browser if it is successfully build. Otherwise, the problem with the documentation will be reported in the output of the command.

Gallery

  • PDP: PDP for a single feature

  • PDP: PDP for a multi-class

  • PDP Interact: PDP Interact for two features with contour plot

  • PDP Interact: PDP Interact for two features with grid plot

  • PDP Interact: PDP Interact for multi-class

  • Information plot: target plot for a single feature

  • Information plot: target interact plot for two features

  • Information plot: actual prediction plot for a single feature

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.