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.8.0-cp310-cp310-win_amd64.whl (610.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

mlrl_common-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mlrl_common-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.0-cp310-cp310-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

mlrl_common-0.8.0-cp39-cp39-win_amd64.whl (610.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

mlrl_common-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mlrl_common-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.0-cp39-cp39-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

mlrl_common-0.8.0-cp38-cp38-win_amd64.whl (610.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

mlrl_common-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

mlrl_common-0.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.0-cp38-cp38-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

mlrl_common-0.8.0-cp37-cp37m-win_amd64.whl (610.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

mlrl_common-0.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

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

mlrl_common-0.8.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.0-cp37-cp37m-macosx_10_9_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file mlrl_common-0.8.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mlrl_common-0.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 610.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for mlrl_common-0.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 67e460ff60075bed1c97054977f66bf9a786d1983c31ccf9dc8ff1a8c039e1d8
MD5 af889db0236a0911247ff1b1e8668efa
BLAKE2b-256 6524d9eeb4ef1bc1f8828a27222a811e423afc9818773c4e1451d2f7fe70cfae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1909904092323cb6f1d3a832bbfa5063ab659f140850a33a511175ee34e25957
MD5 058a9426be5c6bab180753d6a8d7bbc3
BLAKE2b-256 5b340c88efaa3ca906a2d6eaeb0c09973daea5ee6483c524e4495f1aa14d9160

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd7011b3c9a73892f81b899d6ee2b8542543775b62c004e20b68e76f8daa15c7
MD5 967fdeeb0348d7a145406dcea7d138d7
BLAKE2b-256 ed4f07308ec5c8b2b87fad806c44f22a53d48d7e204cd42a0a8378c922e41555

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mlrl_common-0.8.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8ed19a3a191a9236bbfa72fa03e0fcf335293fe5cc12f655aa89c4b0e1583511
MD5 711536e2c358f0f502d3f50c3540b44f
BLAKE2b-256 9a023b527fa270f83c702103db69480d3a02c74b829bc3deafff2c3d1d15e543

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mlrl_common-0.8.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 610.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for mlrl_common-0.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8dfe84f4b238cd8b5958871f18235036a07bced6221116ff265a9c6565f72f5a
MD5 cf92a724cf9249bf831c82618be8455f
BLAKE2b-256 70d691913b54df8abd930434e620748c05ddbabd6257cdf7a43c2cb26fad85b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8a7e6bd7baba52d6a5c166a3ec9e59e86cfc3afe90c405bc99b755d32f13006c
MD5 32681070aea55f3615c493ba388c6f3a
BLAKE2b-256 f4e6dfb6a6c14ca18ebf5f46e9fbc52e4107428205c5ac5a894289f72c52c95a

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3aa306fb27e95bd65de5b410e12298c749842649b432d9ab0e334510e36fce09
MD5 4c72328f0350423da4b37fa4bfca390f
BLAKE2b-256 1018ed334bccf77b03abfac51be944a6ecea2fd9b403f93a282eb8ba999ce5be

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mlrl_common-0.8.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 96ccf353a94096dfbf81fd31781909104ef6477a8802e813836b5d4edbce8f57
MD5 aa84a4b4c80dec492ba04133f4c9f214
BLAKE2b-256 de3be16f817f11f44dcab17953334045927450126c50c56e277b78768a75afc9

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mlrl_common-0.8.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 610.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for mlrl_common-0.8.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9c47988041d68ae31774436552e6bcf996809baf9510348737becdc18afc0f40
MD5 de31df0f7c4e91fe9cd64c6e3307c2cd
BLAKE2b-256 20fe7bbde8c66a5e5b55c08a91a59935bc128ff7b99f2b01d6fe545d362702c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2dc76060d33cc9cbcd0c06a9540162391a3572d76f0b155f148abb44491873c6
MD5 2299dcb75513e3f37139517f41b10b6c
BLAKE2b-256 4373d75c4d29f06a19d84fa3a40e79216bdc7d47ba729c372c714d4069b25cbc

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b3bc5fc479a9eca0dd3ea45446e8857bf9b31667f759b47ed3dc94b000962fc
MD5 0d7ae787b7d671e683a924aa82184e83
BLAKE2b-256 fab9df7d97b9eb4b9cfd86552090ab3243f0075dd7da7048d562614143b2d054

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mlrl_common-0.8.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9f53077e2b9b35bad78102c4bee73096c85c2e33ea692de80f9ed340db7285cd
MD5 fcba9d257282850c73a85695a901e47e
BLAKE2b-256 2ab8f0e711108b73df069afe58a6819889cbef01fb0a7b4369a79862a4f94fce

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: mlrl_common-0.8.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 610.6 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for mlrl_common-0.8.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 5b85010eeaf73f963dad12dc0b1804ccec1d428c83c8cb8d8a3dc0097ee0e9ee
MD5 614bb34849611ce5793399705a73c21e
BLAKE2b-256 77e1286d936b006f5f03fc54b16e0023f4e14e3cff771efe20fff73fa8396cc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c62ed3310b895b7519d5a8fa68ab6726ef91c1d97f3a1ecacb74ff239858e88
MD5 37e3cb1210c4d7376343ae807b86fb45
BLAKE2b-256 789cd6d89410dbb0314fc5df74f0336fd7351b49f6d76a6e9943b750959da8c7

See more details on using hashes here.

File details

Details for the file mlrl_common-0.8.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.8.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 85736eeeee72d494159f67cf8cb60d239802c4e41d4b56c9f5a9096362afdf11
MD5 fd913079794c742a3113baf31c7e6403
BLAKE2b-256 96920fe8a497f843b3ed660761fde718018ae3d70f6c1d32faccc4e89398e388

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mlrl_common-0.8.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 04824aaedca45395fa22b51ae8e42ac1dffc925a45bb25aa0bdb467b38f211a6
MD5 1a867174882a07199ebe5297f4ddb605
BLAKE2b-256 9b9178d903d08a81af34a9d7016f607e781a05b9e48f3284536d89e687034844

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