Skip to main content

Provides common modules to be used by different types of multi-label rule learning algorithms

Project description

"MLRL-Common": Building-Blocks for Multi-label Rule Learning Algorithms

License: MIT PyPI version Documentation Status

This software package provides common modules to be used by different types of multi-label rule learning (MLRL) algorithms that integrate with the popular scikit-learn machine learning framework.

The goal of multi-label classification is the automatic assignment of sets of labels to individual data points, for example, the annotation of text documents with topics.

The library serves as the basis for the implementation of the following rule learning algorithms:

  • BOOMER (Gradient Boosted Multi-label Classification Rules): A state-of-the art algorithm that uses gradient boosting to learn an ensemble of rules that is built with respect to a given multivariate loss function.

Features

This package follows a unified and modular framework for the implementation of different types of MLRL algorithms. An instantiation of the framework consists of the following modules:

  • A module for rule induction that is responsible for the construction of individual rules. Each rule consists of a body and a head. The former specifies the region of the input space to which the rule applies. The latter provides predictions for one or several labels.
  • A strategy for the assemblage of a rule model that consists of several rules.
  • A notion of (label space) statistics that serve as the basis for assessing the quality of potential rules and determining their predictions.
  • Implementations of pruning techniques that can optionally be applied to a rule after its construction to improve the generalization to unseen data.
  • Post-processing techniques that may alter the predictions of a rule after it has been learned.
  • One or several stopping criteria that are used to decide whether more rules should be added to a model.
  • Optional sampling techniques that may be used to obtain a subset of the available training examples, features or labels.
  • An algorithm for the aggregation of predictions that are provided by the rules in a model for previously unseen test examples.

This library defines APIs for all the aforementioned modules and provides default implementations for the following ones:

  • Top-down hill climbing for the greedy induction of rules. It supports numerical, ordinal and nominal features, as well as missing feature values. Optionally, a histogram-based algorithm, where training examples with similar feature values are assigned to bins, can be used to reduce the complexity of training. Both types of algorithms support the use of multi-threading.
  • A strategy for the sequential assemblage of rule models, where one rule is learned after the other.
  • Incremental reduced error pruning (IREP), where conditions are removed from a rule's body if this results in increased performance as measured on a holdout set of the training data.
  • Simple stopping criteria that stop the induction of rules after a certain amount of time or when a predefined number of rules has been reached, as well as an early stopping mechanism that allows to terminate training as soon as the performance of a model on a holdout set stagnates or declines.
  • Methods for sampling with or without replacement, as well as stratified sampling techniques.

Furthermore, the library provides classes for the representation of individual rules, as well as dense and sparse data structures that may be used to store the feature values and ground truth labels of training and test examples.

License

This project is open source software licensed under the terms of the MIT license. We welcome contributions to the project to enhance its functionality and make it more accessible to a broader audience. A frequently updated list of contributors is available here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

mlrl_common-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mlrl_common-0.7.1-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

mlrl_common-0.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mlrl_common-0.7.1-cp39-cp39-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

mlrl_common-0.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

mlrl_common-0.7.1-cp38-cp38-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

mlrl_common-0.7.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

mlrl_common-0.7.1-cp37-cp37m-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file mlrl_common-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e49c906e9327b0b52a29ecb34c0036346be9fdbac51f61d0352538c56c79e83
MD5 2f1ba97a0e871856f644781eedb97322
BLAKE2b-256 b4c4ea97a7edb5763724a14e18b69d9209b462c733c53a90fc72b015c3164a0c

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mlrl_common-0.7.1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for mlrl_common-0.7.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d09b663a8ee2a0c5241f28f394d797a9501ad7c0042db5db0b0c97b318d40654
MD5 045625d3c4555daa362884ad14abf14d
BLAKE2b-256 9f6898a3f150f74662a08039b5ac9cc4423ed10c5bd0c4f0e14d781b389bbe59

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87188b9833535e33df03859f175be5b28c9988aa6643e9f3a95a7f065c81240b
MD5 022f96b95ac258545c02598341a97da0
BLAKE2b-256 fdce74d2ba3442e8e279866cc27341cd7c3f5cd23b678ae590cc25016fc9aae6

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mlrl_common-0.7.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for mlrl_common-0.7.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5dcef91b9d32d263a9e70eb1f1d5f61469b9cf6e4521cd4eb56d0a7ff8ed08e4
MD5 4021d6d43f70e2ed17f00e9a1f8a1699
BLAKE2b-256 9fda3827bed667f98f4c40c9ef1d684315d1f31d184fe4944ea4d0a13b78ac14

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e030ce50e9c37ac2412fed9a0e60f5484af75501d150f42a0ae6e02801cde57a
MD5 7488f46d8853bdee1e17f581e7f23a10
BLAKE2b-256 2676f221241c786f6ce27698952b3869156e93a7cfbbc26eb9cabdf38e43d2a0

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mlrl_common-0.7.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for mlrl_common-0.7.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 026a9d7cc3112c443c2356f132494103077c44940f12d5bd0b3553de4da67554
MD5 d8505096dc6f97c2ac88835a9b2ee453
BLAKE2b-256 ae4e8858cf7d6fd1363857df3981820e850b0e89325e36311681d41de3d6ca1b

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.7.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd06ecb8907e5016e99904626b87e8cda2a3e68e6f9e6e5732edb901bb2595d8
MD5 8554235fe06993c6885e16fe25e7868a
BLAKE2b-256 82b77502906a3ccf5d231178ef41b13fae9d7dd2c2da85c2d010feb7a0c2faa6

See more details on using hashes here.

File details

Details for the file mlrl_common-0.7.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: mlrl_common-0.7.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for mlrl_common-0.7.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ebc9272c403208fcd9806101ca86eee02fc10caa67a865755b923f67714b0c42
MD5 953ad67b2506d44763fc779a624838ef
BLAKE2b-256 a951d070a26a81a0af0132543aac16afb714bd5166ce0fbbd3ebcba5f7d5c8ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page