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

Important links: Documentation | Issue Tracker | Changelog | Contributors | Code of Conduct | License

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.

Functionalities

This package follows a unified and modular framework for the implementation of different types of MLRL algorithms. In the following, we provide an overview of the individual modules an instantiation of the framework must implement.

Rule Induction

A module for rule induction that is responsible for the construction of individual rules. Currently, the following modules of this kind are implemented:

  • A module for greedy rule induction that conducts a top-down search, where rules are constructed by adding one condition after the other and adjusting its prediction accordingly.
  • Rule induction based on a beam search, where a top-down search is conducted as described above. However, instead of focusing on the best solution at each step, the algorithm keeps track of a predefined number of promising solutions and picks the best one at the end.

All of the above modules support numerical, ordinal, and nominal features and can handle missing feature values. They can also be combined with methods for unsupervised feature binning, where training examples with similar features values are assigned to bins in order to reduce the training complexity. Moreover, multi-threading can be used to speed up training.

Model Assemblage

A module for the assemblage of a rule model that consists of several rules. Currently, the following strategies can be used for constructing a model:

  • Sequential assemblage of rule models, where one rule is learned after the other.

Sampling Methods

A wide variety of sampling methods, including sampling with and without replacement, as well as stratified sampling techniques, is provided by this package. They can be used to learn new rules on a subset of the available training examples, features, or labels.

(Label Space) Statistics

So-called label space statistics serve as the basis for assessing the quality of potential rules and determining their predictions. The notion of the statistics heavily depend on the rule learning algorithm at hand. For this reason, no particular implementation is currently included in this package.

Post-Processing

Post-processing methods can be used to alter the predictions of a rule after it has been learned. Whether this is desirable or not heavily depends on the rule learning algorithm at hand. For this reason, no post-processing methods are currently provided by this package.

Pruning Methods

Rule pruning techniques can optionally be applied to a rule after its construction to improve its generalization to unseen data and prevent overfitting. The following pruning techniques are currently supported by this package:

  • Incremental reduced error pruning (IREP) removes overly specific conditions from a rule if this results in an increase of predictive performance (measured on a holdout set of the training data).

Stopping Criteria

One or several stopping criteria can be used to decide whether additional rules should be added to a model or not. Currently, the following criteria are provided out-of-the-box:

  • A size-based stopping criterion that ensures that a certain number of rules is not exceeded.
  • A time-based stopping criterion that stops training as soon as a predefined runtime was exceeded.
  • Pre-pruning (a.k.a. early stopping) aims at terminating the training process as soon as the performance of a model stagnates or declines (measured on a holdout set of the training data).

Post-Optimization

Post-optimization methods can be employed to further improve the predictive performance of a model after it has been assembled. Currently, the following post-optimization techniques can be used:

  • Sequential post-optimization reconstructs each rule in a model in the context of the other rules.

  • Post-pruning may remove trailing rules from a model in this increases the models performance (as measured on a holdout set of the training data).

Prediction algorithm

A prediction algorithm is needed to derive predictions from the rules in a previously assembled model. As prediction methods heavily depend on the rule learning algorithm at hand, no implementation is provided by this package out-of-the-box. However, it defines interfaces for the prediction of regression scores, binary predictions, or probability estimates.

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.10.2-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12 Windows x86-64

mlrl_common-0.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

mlrl_common-0.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

mlrl_common-0.10.2-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

mlrl_common-0.10.2-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

mlrl_common-0.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

mlrl_common-0.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

mlrl_common-0.10.2-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mlrl_common-0.10.2-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

mlrl_common-0.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mlrl_common-0.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

mlrl_common-0.10.2-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mlrl_common-0.10.2-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

mlrl_common-0.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

mlrl_common-0.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

mlrl_common-0.10.2-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

Details for the file mlrl_common-0.10.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 69a420c6d0614b5eff446a72bb76898adf1c00f41de70cd3d9fef6ee8bce7083
MD5 a457e9eba25ec4fee08a0b36c0d4b498
BLAKE2b-256 f7fb2a0435d48fca1cf6d867ea7b5a767248bbdaf67e61b036b2894d7d4cc80f

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6d85199e232a7df8995b7f8f59bd7a9b2ddb890d553d5c64e3ded0865934872
MD5 332fca43d42b79e1243f9e794951780e
BLAKE2b-256 2665b8f537f364fd83bd18c323e42adacfabb07abf992f118335972f56b28a63

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9ff1fd6dd94be749962be8fe770aec71935505add1df51145a86cf7a06410f21
MD5 bdba91641dcc6fa55e4f560055cf3bdb
BLAKE2b-256 865af094731fd5a500e0b7c1c9e5c14960f7bdcc4246d22f5c9ecf9352c26741

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6384da7212da74e8e37ed2c9dfc646c9b6fb00467f13905ce40b3f42e436ac50
MD5 8327b693cfba1e16048c1201df6538e0
BLAKE2b-256 2c31e8f30005ce5c4ae4154effa3ea63174af85f3a5502e1bce900496171c1dd

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8607e004cb94e6081be1a4b5ca54b783bb156edb4276a35764535bcbd8b084d9
MD5 e703b92f667191cafe6c4d59a99d088a
BLAKE2b-256 69a750ccf92ae9a1058398afbff7dd797663dd40cb36ed8219a399b4ad91ebd5

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78262a7c472765486e4ab2e840f4d2a0ce22356f97fd618b2dbe291a170fe288
MD5 ed69826d1535bc32c2ee4df966ac3de0
BLAKE2b-256 ea002cbbca33e43db81a3224f019ed42def58b33690e583dd7a50896f8af5ebc

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5f7d133d952ed24957d0960fe2c4f0bc2cfb8bde952e042c5efbeedc731b5e22
MD5 5f74b15b4287896c733ac5abfe90441f
BLAKE2b-256 7faf12f99502d908d41d6a5b308b8b833cf19579930faa263709d5601cd481d4

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de75f0b92b1bcbac8213a83d7b901f3ad186597bfcec04cac319459a81e96814
MD5 65aa35536afdb871687058c86f0a9fea
BLAKE2b-256 13e94b281fd6a29174c0ab025c5285a5665b498c9496f745ca39b3ac79857f82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 17e0862c64ec2d0ec6b1f764ba3e70b1013d511cac26278b3c3f12ed494be18f
MD5 4c8ad83d7c9cfcef02f20f8e8e22b3be
BLAKE2b-256 0b89035dd946be3686276d41d089923f63c65d34674cec27289f73cd6fa0b37b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfc23c8edf8106065ee4073e8d3ffd2fcabd896d79c8b6b340e6983fd4f506ed
MD5 211101b6f282095622fdd497498112be
BLAKE2b-256 fe369d50fbd2c80ea1981fadcbe7a12225835fc2e4e63e5ce22be8f87a454718

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d86ef56a01e5ce02872876da28fcc1c82d540517177280e1c4eaf40c345a55d1
MD5 4a7747d9ec086992ca8273ccb45b37be
BLAKE2b-256 73da2f8745039c6fed9815021bdb6a181d7180755f257b530f23600c8e2ef183

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 daf84adcd24db4def2c975260909bf9366bfee563c669ac819e4bf56cd7d9fce
MD5 655e532aaf32609a271345fe7c6ff736
BLAKE2b-256 3ad7505764a01ee65f034dad78fff1f8f464915345f2b40794414000e745c77f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 afba318807b3f9e6ba93eec8b002cb382923d80625293b42dab1cf4ad5f22165
MD5 c694021ef7e22d50f11d21b88eac61f2
BLAKE2b-256 ace043d4ec3bbff7dc3913b032ca52d2bb91953248ab3b2c930966b825cd99b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb3cdf86a4ad2e7ee7fb30a7d06c38053c61f1130e3b8c07549abce6b418ce48
MD5 ef84dc1b23ebb5aaeda6aac23374596c
BLAKE2b-256 0c24ad766839dbb4b086be3338c264337d890332d36d97add1bec4c397b08343

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 321639756da054406262d97d76a11bc486d29b1ed0fa275aec0a4f1be130ffc0
MD5 84d7970b60755da120925ca6cb9e1daf
BLAKE2b-256 399086d990ebf1abedc4a03d29091a2c4091b530f707c3c0f442861f718b3b7c

See more details on using hashes here.

File details

Details for the file mlrl_common-0.10.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_common-0.10.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 990f1248df02534065aded706df74d053d1041ddcbaaeab32132b50e536d623b
MD5 79578f04a79d0ee1effafecfe012b694
BLAKE2b-256 18c13fa9e0d0ac7201bc17ad00781befd4dc3a6f2d3bfc4643f16b376238bcd2

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