Skip to main content

A scikit-learn implementation of a separate-and-conquer multi-label rule learning algorithm

Project description

Multi-label Separate-and-Conquer Rule Learning Algorithm

License: MIT PyPI version Documentation Status

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

This software package provides an implementation of a Multi-label Separate-and-Conquer (SeCo) Rule Learning Algorithm that integrates 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 algorithm that is provided by this package uses the SeCo paradigm for learning interpretable rule lists.

Functionalities

The algorithm that is provided by this project currently supports the following core functionalities to learn a binary classification rules:

  • A large variety of heuristics is available to assess the quality of candidate rules.
  • Rules may predict for a single label or multiple ones (which enables to model local label dependencies).
  • Rules can be constructed via a greedy search or a beam search. The latter may help to improve the quality of individual rules.
  • Sampling techniques and stratification methods can be used to learn new rules on a subset of the available training examples, features, or labels.
  • Fine-grained control over the specificity/generality of rules is provided via hyper-parameters.
  • Incremental reduced error pruning can be used to remove overly specific conditions from rules and prevent overfitting.
  • Sequential post-optimization may help to improve the predictive performance of a model by reconstructing each rule in the context of the other rules.
  • Native support for numerical, ordinal, and nominal features eliminates the need for pre-processing techniques such as one-hot encoding.
  • Handling of missing feature values, i.e., occurrences of NaN in the feature matrix, is implemented by the algorithm.

Runtime and Memory Optimizations

In addition, the following features that may speed up training or reduce the memory footprint are currently implemented:

  • Sparse feature matrices can be used for training and prediction. This may speed up training significantly on some data sets.
  • Sparse label matrices can be used for training. This may reduce the memory footprint in case of large data sets.
  • Sparse prediction matrices can be used to store predicted labels. This may reduce the memory footprint in case of large data sets.
  • Multi-threading can be used to parallelize the evaluation of a rule's potential refinements across several features or to obtain predictions for several examples in parallel.

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_seco-0.11.1-cp312-cp312-win_amd64.whl (575.6 kB view details)

Uploaded CPython 3.12 Windows x86-64

mlrl_seco-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

mlrl_seco-0.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.11.1-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

mlrl_seco-0.11.1-cp311-cp311-win_amd64.whl (574.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

mlrl_seco-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

mlrl_seco-0.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.11.1-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mlrl_seco-0.11.1-cp310-cp310-win_amd64.whl (577.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

mlrl_seco-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

mlrl_seco-0.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.11.1-cp310-cp310-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

File details

Details for the file mlrl_seco-0.11.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e1147c465a299ded022e27a93e0ac033ae02202a9e2adf7be5b876a6a575d282
MD5 e661ec435f05a9883605cd640a0d314a
BLAKE2b-256 274076a5a5a082db64a097171c1892c2b23978b389bdc90d7c2b0a55d758876d

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cd802e7de280978dfd5124116b72a9c0cfd1914da54eb5c560ce3352b443df3
MD5 c602f34549895041e4d3a83b6761dbfa
BLAKE2b-256 b8e9c6f1415ab3be2203e7bfa9e8a6eab37e460419e9f0f29da4aeb580f76d70

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 81b873f62258ec0da8fb7f772ca1b42ce99d22b9c11b558d7458e2444e33bf3e
MD5 1fc7192a550a61bf1f0caaa150250b88
BLAKE2b-256 1ffdf8165bbf9baf2fecd2a68a8e62e4a9c3e214e65d54553a9637b3056a6835

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8378f8733bfbd45ea9b6e2d258262d4c3d2e1464a53a4bc20dcfd21a91328519
MD5 9a3aca7e9db08ef417257bf13366276e
BLAKE2b-256 74f971931d3e8a3062510f472e5983fb656a4a7c33c8ddc2e36a8b7c5bf91818

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f7d6f30acce94450df468c3c1ed8cb2cc9f961839fc6bcfd0dccabbeff981dd4
MD5 a8c45b15db3ccc97c81d682919baf124
BLAKE2b-256 7567bfdbde48802337e7ef8c54d5235948d89f78c707e7d6c6a39c4e5a8183fd

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67d968c24eb26073106fe184b8307f6a4aa42fdf53e7bb31bd038e995ef26a35
MD5 e07605ca54c8916bda026112f256d0e5
BLAKE2b-256 ab46e1515bcd3422cd3bfe36e59dceb577ef3f95d9f68fca1b4571128e6e6ac3

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 77cac75d99e92f70289bc20fc90a67ce72234104ade7d4e178e36ec1a4c24a99
MD5 63bae7eae5bb7a4756e1cf1ee5ebd52a
BLAKE2b-256 95096b26743dbce27548fb0b64e4323140b1ded4b4539779749b04fca95ca5fb

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b206ab97b9a59adcbd070a07c198b62409a779ddf517d8277412662c62539b22
MD5 8fe614f0b1315855215fe79469ee0d56
BLAKE2b-256 eb32a745a3511da75b9050d35e82fb2d790e601ba337c869ecd174a1527d6d33

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9709c869b954b0de765572e0ba2cd2eff4b06a2b89e57790324558eb22d7b14b
MD5 679840d8f8e18f1fd28fb4feb2ea9db5
BLAKE2b-256 689c980afb9126c1573f604ae4b3d723731ae37813c734d1c0bdcd16b4495384

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82f40c28691e3701a606ce18c04aa7921b35f418bb0402e32db150495c1af8b6
MD5 44f3b2b06cb59315927025bc22f03d7c
BLAKE2b-256 a0486eb40845f5bdd6ab23aa0f87505cd1946727dd7036f24e85fa3941769ca7

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 145943889cd39fe6a1830d7c80e6e0fb6c1448a456224ced8e17854e58cf0a8c
MD5 0fa69590f398ceef5fd422453a34bc13
BLAKE2b-256 6686a2237856a08b09d0c0c7e70395d2727587d71db2a512f023fae51c497768

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.11.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b04f6745246e873ec5015e1bfa197a4dc26346add774be7aa3d6f2ff78ad00b
MD5 6d623793aee901920c6721309aba33a5
BLAKE2b-256 7fd067d3c7d09f00bc66ba4220fcd7e259a63ea140a00c7db5280f54bdff1178

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