Skip to content

A python library for hierarchical classification compatible with scikit-learn

License

Notifications You must be signed in to change notification settings

Tomko10/hiclass

Repository files navigation

Hiclass

HiClass is a library for local hierarchical classification compatible with scikit-learn

Deploy PyPI coverage report Documentation Status

This library implements the three local classifier approaches described in [1].

Installation

Install with conda

HiClass and its dependencies can be easily installed with conda:

conda install -c conda-forge hiclass

Install with pip

Alternatively, HiClass and its dependencies can also be installed with pip:

pip install hiclass

Lastly, pipenv can also be used to install HiClass and its dependencies. In order to use this, first install it via:

pip install pipenv

Afterwards, you can create an environment and install the dependencies via (for dev dependencies, add --dev)

pipenv install

To activate the environment, run:

pipenv shell

For more information, take a look at the pipenv documentation.

If you do not wish to use pipenv, you can find the requirements in Pipfile under packages and dev-packages.

Usage

An example usage can be found below. For a more thorough example, see our interactive notebook. The full API documentation is available on Read the Docs.

from hiclass import LocalClassifierPerNode
from sklearn.ensemble import RandomForestClassifier

# define data
X_train, X_test = get_some_train_data()  # (n, num_features)
Y_train = get_some_labels()  # (n, num_largest_hierarchy)
# Use random forest classifiers for every node and run a classification
rf = RandomForestClassifier()
lcpn = LocalClassifierPerNode(local_classifier=rf)
lcpn.fit(X_train, Y_train)
predictions = lcpn.predict(X_test)

References

[1] Silla, C.N. and Freitas, A.A. (2011). A survey of hierarchical classification across different application domains. Data Mining and Knowledge Discovery, 22(1), pp.31-72.

Citation

If you use HiClass, please cite:

Miranda, Fábio M., Niklas Köehnecke, and Bernhard Y. Renard. "HiClass: a Python library for local hierarchical classification compatible with scikit-learn." arXiv preprint arXiv:2112.06560 (2021).

@article{miranda2021hiclass,
  title={HiClass: a Python library for local hierarchical classification compatible with scikit-learn},
  author={Miranda, F{\'a}bio M and K{\"o}ehnecke, Niklas and Renard, Bernhard Y},
  journal={arXiv preprint arXiv:2112.06560},
  year={2021}
}

About

A python library for hierarchical classification compatible with scikit-learn

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Makefile 0.4%