Metadata-Version: 2.1
Name: treeinterpreter
Version: 0.2.3
Summary: Package for interpreting scikit-learn's decision tree and random forest predictions.
Home-page: https://github.com/andosa/treeinterpreter
Author: Ando Saabas
Author-email: 
License: BSD
Keywords: treeinterpreter
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
License-File: LICENSE

===============================
TreeInterpreter
===============================

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.
