Package for interpreting scikit-learn's decision tree and random forest predictions.
Project description
Package for interpreting scikit-learn’s decision tree and random forest predictions. Allows decomposing each prediction into bias and feature contribution components as described in http://blog.datadive.net/interpreting-random-forests/. For a dataset with n features, each prediction on the dataset is decomposed as prediction = bias + feature_1_contribution + ... + feature_n_contribution.
It works on scikit-learn’s
DecisionTreeRegressor
DecisionTreeClassifier
ExtraTreeRegressor
ExtraTreeClassifier
RandomForestRegressor
RandomForestClassifier
ExtraTreesRegressor
ExtraTreesClassifier
Free software: BSD license
Dependencies
scikit-learn 0.17+
Installation
The easiest way to install the package is via pip:
$ pip install treeinterpreter
Usage
from treeinterpreter import treeinterpreter as ti # fit a scikit-learn's regressor model rf = RandomForestRegressor() rf.fit(trainX, trainY) prediction, bias, contributions = ti.predict(rf, testX)
Prediction is the sum of bias and feature contributions:
assert(numpy.allclose(prediction, bias + np.sum(contributions, axis=1))) assert(numpy.allclose(rf.predict(testX), bias + np.sum(contributions, axis=1)))
More usage examples at http://blog.datadive.net/random-forest-interpretation-with-scikit-learn/.
History
0.1.0 (2015-07-22)
First release on PyPI.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for treeinterpreter-0.2.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48660bbddd4577e28655abf0ffb77eb8b8e57d771e32503be56737103aa457a4 |
|
MD5 | 9a4726867b84561216966eb34a61f495 |
|
BLAKE2b-256 | af19fa8556093f6b8c7374825118e05cf5a99c71262392382c3642ab1fd8a742 |