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

Uploaded CPython 3.10 Windows x86-64

mlrl_common-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mlrl_common-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.2-cp310-cp310-macosx_10_9_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

mlrl_common-0.8.2-cp39-cp39-win_amd64.whl (647.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

mlrl_common-0.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mlrl_common-0.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.2-cp39-cp39-macosx_10_9_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

mlrl_common-0.8.2-cp38-cp38-win_amd64.whl (645.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

mlrl_common-0.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

mlrl_common-0.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

mlrl_common-0.8.2-cp38-cp38-macosx_10_9_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

mlrl_common-0.8.2-cp37-cp37m-win_amd64.whl (614.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

mlrl_common-0.8.2-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.2-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.2-cp37-cp37m-macosx_10_9_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ac771664829f3ddcc34bd4de2d71b829fcee88ce0db5258d4645fe9554ccfbcc
MD5 b41c9b5a58baa23fa52f4fa60bfcc495
BLAKE2b-256 9b459c15011d73150b3353992ed49a4fc6dfeaba38f77fe6fbf25928286df960

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffbedb4cf7d8b61976121a9f18cf583708e406f4c7159e1ef2cbb907724ca2a4
MD5 ae5530c198d4070e71087ba5ac1a1e07
BLAKE2b-256 d0ca12a7de169fb8f278527030e361eaab0d6b5319b48a9bafdd962fb758dde2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1b6397d3245a441814ba3144751f92015055e8ebea8e1996aaa16b71deae5d6d
MD5 9338bb835a5d20aa7a67307cd4f50e43
BLAKE2b-256 d995c7ae77c14dbc8feb2e37ea5a1c35f66577ba80d8bd8e9d0aa0412783325f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 167bd1269c4a72bf58d3e1bf3bc2f572eb8b393a300b2718836ff7b625c8dc16
MD5 f0a3b6a7e69a258ed6b08bb496545ce5
BLAKE2b-256 5540fa5c630b7093f8cd456de2f1acd59f97094190cd9a01ed00468e1ccc3405

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f01e0cefa4a704255e3f649658aa6c388ff9ec5d000ad4726b082105fdb171c2
MD5 2670c07c76fc2d0e6b98ba62bf3e36be
BLAKE2b-256 6e1191da5f6542304e0fc7263014430b372352a8c22857252a7485ef9d8f8426

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d950f41e4dc8b4ba67541445182d795bc0a889114c521a26ac014d419e19882
MD5 148c19605bad296238f98034cf15ec58
BLAKE2b-256 0304db530046d35e755aac0ebaced44ca113ee1d01597af858383a9bafa74211

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8e63449b5b1e8d1ac327e935cdd88fd03f86484d55bfdfbb3cd310ffda349fe
MD5 8fc79848647cc103b4e10a11efe4a509
BLAKE2b-256 c0e0221e16aa0c4547046ecc45b0075e87ac0e444ff22e270588b99e3a990987

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fef5e1e8d8cead9e9b6416c5933c1a1651221940361f6741e5b4611daf70f4cb
MD5 d5d2da24bbd9135abedddf4fa65157ee
BLAKE2b-256 4766c318fe9e218a1432ed350151c91d8c8f1ce799fc7030e925ee5c64a52ad6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 248e9063c72420ebb1a5480ef1f7bcf0dab19d2cfbb5ceac81575fa6c1fe52fc
MD5 be866feef975b5544f19debc30491f59
BLAKE2b-256 f5f4e54ae6ebb2b1e6acd0a5d83e6de711e949e3ccde8b725df5240eb9e82cfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 56840e940a124f33463a3ba2e7418c4193ef91c6a1946539c77a24c0643b0579
MD5 ae25eb30f2cada50641fd3ea4931b213
BLAKE2b-256 219583d77706fefad4c29eabf698f7caa7e630a1a18351197533fa518da399d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e74c982bf6227481d4fbe7fdf6abede88a330d9d4113ed06fad971f281d98717
MD5 c20a74f4bca6b3ce2a80676f3750312e
BLAKE2b-256 c1706e0db66e0b0eefe47e2c12da9c5756dc235385b655b1fb4fbe82e72d10a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d2c538901b4bfbfb1cf405a8e6fcdb6d5710dbdd89513189c1d5e73d1549cee3
MD5 2b359188c13a0fa2bea23bf92a205684
BLAKE2b-256 cf3188a54c1bfa5be0a72cc8509a68a50b44a05d0cc74095cb3b589a3f755723

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 db0dc14e5a92b55e48ca91e27dbb1c7a24b72a5728d2f3cd6082a9ae9848fe57
MD5 4d1b8e6b342f785283db0a7815eb19a3
BLAKE2b-256 4aa76c6c0ee104e752241f4281a877af46346efab1a1c778da5a035087582c1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3dce20246778b1dbb36a3fc5a4268a7e8d90dda89b565f1004654a6c949709e
MD5 d615f885275528eb90457a7435f9ebeb
BLAKE2b-256 883243c808c6b543651593793aefcd7a5ffcdb01634d95c1bfe2e3dfac8cf92d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6da670e57370e8aa21c21e3b60bd7a4cfb94cceb5e08b03fe1089d90e58942b5
MD5 875ce87c219d2b89af9d98f1d8247977
BLAKE2b-256 30050270a8d5f662062c5f245efb6cfd2bd25768b26d6c99a0bc5a1c9672c764

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.8.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0fa884777fcb14b20d142bb9c784e8d7bf708b0fcfa9e645bdb6e098b45f094e
MD5 f951b6259dab95bd2f709b87a6917a7e
BLAKE2b-256 90895553af035b1ceb76b847e8dbbaacd656c63536571e701af29fdd6bc48acb

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