Releases: scikit-learn-contrib/hiclass
v5.0.3
This release fixes compatibility issues with the latest versions of scikit-learn. The main reason for this upgrade are security concerns (see issue #141). The following features had to be removed as it was not possible to make them compatible with scikit-learn v1.5+:
- Multi-label local hierarchical classifiers
- Bert classifier
- Explainer class
Perhaps in future releases these features will be reintegrated, but for now they are only available until hiclass v4.
Add support for bert-sklearn #minor
This release adds support for bert-sklearn. See the example for more information.
sample_weight parameter added to fit methods
In this release we added support for sample_weight for all local hierarchical classifiers. Hence, now it is possible to pass an array of weights that are assigned to individual samples, which are forwarded to the underlying estimators. See the online API reference for more information
Support for empty levels
With this release it becomes possible to train local hierarchical classifiers when the hierarchy has empty levels. For example:
from sklearn.linear_model import LogisticRegression
from hiclass import LocalClassifierPerNode
# Define data
X_train = [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]]
X_test = [[9, 10], [7, 8], [5, 6], [3, 4], [1, 2]]
Y_train = [
["Bird"],
["Reptile", "Snake"],
["Reptile", "Lizard"],
["Mammal", "Cat"],
["Mammal", "Wolf", "Dog"],
]
# Use random forest classifiers for every node
rf = LogisticRegression()
classifier = LocalClassifierPerNode(local_classifier=rf)
# Train local classifier per node
classifier.fit(X_train, Y_train)
# Predict
predictions = classifier.predict(X_test)
print(predictions)
Gallery of examples
A gallery of examples was added to the documentation on read the docs https://hiclass.readthedocs.io/en/latest/auto_examples/index.html. These examples illustrate the usage of the most common features of the library and all code is executed when the documentation is built, ensuring everything is working.