Skip to content

lfmatosm/sklearn-hierarchical-classification

 
 

Repository files navigation

sklearn-hierarchical-classification

Fork of sklearn-hierarchical-classification.

The archived version of the original repo includes sklearn.preprocessing.MultiLabelBinarizer support for multilabel hierarchical classification problems, but it never got a 2.0.0 release. This fork (currently) fixes some issues with MultiLabelBinarizer when doing predictions. Please refer to 30cfe35 for further details.

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:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.1%
  • Shell 1.9%