Hierarchical Classification Library.
Project description
Hiclass
HiClass is a library for local hierarchical classification compatible with scikit-learn
This library implements the three local classifier approaches described in [1].
Installation
HiClass and its dependencies can be easily installed with conda:
conda install -c conda-forge hiclass
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}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.