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

Uploaded CPython 3.12 Windows x86-64

mlrl_seco-0.11.0-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.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

mlrl_seco-0.11.0-cp311-cp311-win_amd64.whl (568.9 kB view details)

Uploaded CPython 3.11 Windows x86-64

mlrl_seco-0.11.0-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.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

mlrl_seco-0.11.0-cp310-cp310-win_amd64.whl (571.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

mlrl_seco-0.11.0-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.0-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.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0954d1b72698f127c3123f598627e3e58650a1eebcf85a5b8456cbe92df55f56
MD5 64acca1e60a4b552b1e84e032af2304e
BLAKE2b-256 7f6814c7d5b393a27ac3fb80016e4130ddad84fc5687e1c7584f9d887e3117ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47c86572004491779fedd5705c78231515e4f768c7d72c555526d0240f4c6147
MD5 5b0b16230fe0994ea80829db4394ec5a
BLAKE2b-256 cc7bc43301fdcc2ed219793bba4914f4647d73f8cada04c50a64157494aebdc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 61f4d1c3fd4fb40c11846af30b917da89a537c5398bbd63e9d45ac885be6134d
MD5 c987c932349faf8b41b68acd6537f49e
BLAKE2b-256 86db7d98819af051d95250155ad200e82a4c65622e1adb9cd042753a92491c65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 849723d2170cced4ce42bf8afad4b0e5f07c94a5dc35d8da91aed4bfe1be3caa
MD5 123568cf7186917db8b69eaf3a819dd3
BLAKE2b-256 27c4514e6da5873414215aab61c6590172e94131e48e97af7cad684064131e54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3628bc422e1028f12e22bde15903376739813ab0e62fc575af52187e629676f6
MD5 5ddf106036b2d66a9087b63108d7ea66
BLAKE2b-256 eab8e6cd2bbf723187a0ec5b0e48cc4a708466a32e15e11adef41966a884df50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5bac748ce943dbf21f89e2c9d9863c40af1ef54f5ba31db9083aa44c42cee991
MD5 465d668e999cef0daba336475bb52e0f
BLAKE2b-256 84174c6dc65eb61e1420748eda33803991a0a2c4447339d8d5bc2cf9137e9984

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ec066fe9ce8ef2a02bac5381a5a47ba61e2a1ca4a7dcfd1c337f6a0a6a93a145
MD5 61b904a226e4a86fc74740e71125ef58
BLAKE2b-256 7b114be18f87b57cda192de61dc1234c0b5b20e11d59ebd8dc4c4058870d2ed5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8276400b5f90bb7ae4f3eb5993f867e180641200ef7afe7737480a6b4e974e15
MD5 bf1b7905d87492112a8fdb3de323bffd
BLAKE2b-256 4b3507e0292f1fd8b4ecc9571c35f09f2134d50121a20f8bbf1dbcbd611db123

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5b01518f154e380246ef0acc7ee94864b252d82dd2b5a67b5eec45d0f0a40048
MD5 30e022cb1dbf2cbfb5a6eb80d22d6b63
BLAKE2b-256 91a4b1b4bf728dc1abc5f09b3ae3b86a372ff4b713bea505ffdd3a20dc3c96a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4190f17561674e08a01c443cc782128262c0b2e0cf5d232fef51b909bcda2bc7
MD5 65fa0a40842f86b27ce77fe0557fa237
BLAKE2b-256 f0ebdfb9e2f8b6ba6a54ccf5123617828d41d14f1f2a43bd4204f79b1fdfe990

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 45277467c096d6a4319b47ddeeb52968db92eecdbe220d02fa659a702c4a0162
MD5 a7dc1ee754299831ab1aacc1c1b6f500
BLAKE2b-256 35900532b3e7a5911b6b57ba0d9172534b397c2b9e17f33a21e5c2984f31a3ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.11.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d2bce26d9cbdd5b9108deae2e70d86a99a8a750357bfdb1db7dac1bc2f50c4f
MD5 25b30388494f18cff4c0ee5f11b2a450
BLAKE2b-256 bf92124ce047e52edfcf1217f066c33163a7e93aae4537e2122a2983dbcfea3f

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