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.10.1-cp312-cp312-win_amd64.whl (513.8 kB view details)

Uploaded CPython 3.12 Windows x86-64

mlrl_seco-0.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

mlrl_seco-0.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.10.1-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

mlrl_seco-0.10.1-cp311-cp311-win_amd64.whl (511.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

mlrl_seco-0.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

mlrl_seco-0.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.10.1-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mlrl_seco-0.10.1-cp310-cp310-win_amd64.whl (514.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

mlrl_seco-0.10.1-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_seco-0.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.10.1-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

mlrl_seco-0.10.1-cp39-cp39-win_amd64.whl (517.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

mlrl_seco-0.10.1-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_seco-0.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

mlrl_seco-0.10.1-cp39-cp39-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b223ad5ad4dfd8b6fc3cdc0708338b94630508d495d271eea5d4d73fbe9bb0b7
MD5 635eb9bfabaac032efc2573bcfa459e2
BLAKE2b-256 f418b315ba9772fbaea72a6185c8f33db3c31544f54d1858a3977cd5d0b0f2d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2430d116885d84d1ab8199a4b1bec6cee4e8e809720cbc62fe40977f4e53a15
MD5 ab9c2257aa6838d5f9a6f5288cbe5178
BLAKE2b-256 8b80d089cf243cf803fc433286204486ab307592579f17502f0139ae7a81cf10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0bb496e25e25e7a945435540d89a34f6d257c2d101e34140738366cdc83a9330
MD5 dcbe4fae81f931f0dd7b2b5b2eb442af
BLAKE2b-256 2e498857f68a4bfd6e712091a5e090cfc1a4cc620ff4c547678cc904fb6f93eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3ecfbd338101c60f1e471cf0ed73d0e937c16e343e654944a74521c3f2988d2
MD5 8ba767f42ef6f89776e1886f370e348f
BLAKE2b-256 edc39c3ae4aa8b178dabee4e4a2e9453801dfdbb74a626f263e8f97b178db5cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 06f2d45c7986291b82817eb1aab1bc5aeb8d14a4c25006d26f3b0f9424be0bd6
MD5 8dc941d21baba6f4ebe38a8d5685f03d
BLAKE2b-256 8e31ff9eb5c49e2a761bf07ee9c280947fe00276ddd565924cda43c41ce62c83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9836bb76114dadb9fe22a31bbaedcdd50f1f3ca33236d332e631b7c589f824cd
MD5 cc4fb889a1f4014720772c6236ee619b
BLAKE2b-256 b8d45a3b51b2593bbfaf62243dd971178e5a6b8f2fbc1b91be082dd411cfc63f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 602a7a470bc25d20b55d2985ab3d41b9c7015ab3327d0b2e94232f2daf168d00
MD5 0c7609775e868d31cd02af2f9fbd40a2
BLAKE2b-256 2a555ea4bc3b6a9c324ac704ea4b8ca099b69dac3fac7184d371844e58a4268f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9fe3b2d84b4f8ef1a0f898247338dc4129b64ce74e8e63b7ab3c0da9826c3531
MD5 d5bd09db48133a39d90f66e39cece061
BLAKE2b-256 352b93ea1978e6ff216273e8409233afc4910c03a28eee35c9fec9815dcf2f37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6851d83c6256f73efaf41df7f507acd71979985e651819917e7e634714c905db
MD5 17953b4cf63a065f74c088cf2e2fe35f
BLAKE2b-256 0eda33a698da73968ad3418434ab93a077360bfbaeebbc20e1be01f884696b5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82d1b6055ba594d8e2d29002f346aa4066527a3fd5f136165061a9fa54b2d803
MD5 c66e7fd1a1718d9d4f5bed584c0a2d53
BLAKE2b-256 0ad8e0d67ec5bf8d936419698c67dec39128957f98b6b3e95100df9f30568223

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5991a3cc2465cd7a38c5840585475542e255602f2a174d2eb05d91f6d4ca614d
MD5 47c06cb97b45d5a1bedb3547dd0a4cfe
BLAKE2b-256 0fb0d62baea9ebb213d542497fdadf33172dbfee0694aa1759656494c903bad6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2e62cde656c55ab84ea348ab7dffb160a4d9acf85f4dbb09311751a5228fdc5
MD5 57962d7f07f5da170d884f59fa92df44
BLAKE2b-256 49a2a8381c1bb4902374c71e8e3d093b7ee3ff460ea28b536d9600a13fdfd471

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.10.1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9cc3271216d7ce967bd627d644374880611b51fdf4be82a06d9256efda85c877
MD5 0fb25ce6be08e992d5b0744e41fd20e8
BLAKE2b-256 6f666935f3f1e74d07969d325d5a1458060642fef9b2a8389a1afa8cadfcf7c1

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 71d3985abfb70b157dce244447369b4153d0d851a3156ca7b4aad90c90508ef1
MD5 23e46e627cabec8fbb19ca5363da6894
BLAKE2b-256 41ae7996031b3587418798296233f76b82741b43958d09037fd739c2659a7a4c

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a80d71bbc5d530e68f97e0592a96426ddadd213cbac107c08c99c671ba06b130
MD5 22355dc1788194f0a82c70d7f068fa7c
BLAKE2b-256 cd23df6bc460333c14b8f89853138a8038a5ab99858dfd2c63da5f85bcebbf26

See more details on using hashes here.

File details

Details for the file mlrl_seco-0.10.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.10.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c4bff5c70ffa27a54d5b7318078e833b189b251c2b83323c17dd4d3123822780
MD5 db9f1eb7239bfdfad25763a8ca53804e
BLAKE2b-256 3f1ae73b37f3476768e56187d8595f64e0132cd234847d4a1b0ef2293938b58a

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