sklearn-hierarchical-classification

Hierarchical classification interface extensions for scikit-learn


License
Apache-2.0
Install
pip install sklearn-hierarchical-classification==1.1.0

Documentation

sklearn-hierarchical-classification

PyPI CircleCI

Hierarchical classification module based on scikit-learn's interfaces and conventions.

See the GitHub Pages hosted documentation here.

Installation

To install, simply install this package via pip into your desired virtualenv, e.g:

pip install sklearn-hierarchical-classification

Usage

See examples/ for usage examples.

Testing

To run the included unit-tests, install the test dependencies and then invoke using nose:

pip install -e '.[test]'
pip install nose
nosetests

Jupyter notebooks

Support for interactive development is built in to the HierarchicalClassifier class. This will enable progress bars (using the excellent tqdm library) in various places during training and may otherwise enable more visibility into the classifier which is useful during interactive use. To enable this make sure widget extensions are enabled by running:

jupyter nbextension enable --py --sys-prefix widgetsnbextension

You can then instantiate a classifier with the progress_wrapper parameter set to tqdm_notebook:

clf = HierarchicalClassifier(
    base_estimator=svm.LinearSVC(),
    class_hierarchy=class_hierarchy,
    progress_wrapper=tqdm_notebook,
)

Documentation

Auto-generated documentation is provided via sphinx. To build / view:

$ cd docs/
$ make html
$ open build/html/index.html

Documentation is published to GitHub pages from the gh-pages branch. If you are a contributor and need to update documentation, a good starting point for getting setup is this tutorial.

Further Reading

this module is heavily influenced by the following previous work and papers: