Skip to main content

A scikit-learn implementation of a Separate-and-Conquer (SeCo) 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 | 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 datasets.
  • Sparse label matrices can be used for training. This may reduce the memory footprint in case of large datasets.
  • Sparse prediction matrices can be used to store predicted labels. This may reduce the memory footprint in case of large datasets.
  • 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.

📚 Documentation

Our documentation provides an extensive user guide, as well as Python and C++ API references for developers. If you are new to the project, you probably want to read about the following topics:

A collection of benchmark datasets that are compatible with the algorithm are provided in a separate repository.

For an overview of changes and new features that have been included in past releases, please refer to the changelog.

📜 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.

All contributions to the project and discussions on the issue tracker are expected to follow the code of conduct.

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

If you're not sure about the file name format, learn more about wheel file names.

mlrl_seco-0.14.0-cp313-cp313-win_amd64.whl (619.9 kB view details)

Uploaded CPython 3.13Windows x86-64

mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

mlrl_seco-0.14.0-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mlrl_seco-0.14.0-cp312-cp312-win_amd64.whl (622.4 kB view details)

Uploaded CPython 3.12Windows x86-64

mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

mlrl_seco-0.14.0-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file mlrl_seco-0.14.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mlrl_seco-0.14.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 619.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlrl_seco-0.14.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d7f4b8d057b372100b7261a02ef37553afe5b6c472f261ac0f0e3a0146f7773b
MD5 587f1ce520d12046a9aca88a8b10a7cc
BLAKE2b-256 8c70975394cfc3ae9c613648f8842642b3baa65733b438aa2677a887078db917

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 18d48bfe36b78f32c638d595085b3254afc2a9021bdeddf67f967bbb1b3c96a0
MD5 1fe715b234de0520e2c21599a2f67d50
BLAKE2b-256 1f0c222462d889af75a6b5a6b74435ccc141f66dfb7a13d52499ccd6485d4901

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d429e7f9310d6b5f538d02f2439822640bb0f6175bf96e829b21cfb9f6938e2f
MD5 3abeb464ddbe0f200a5365b25e6ac129
BLAKE2b-256 21a7c14510702f159f4b5587153a4354a07feabc2e81f2be85af55d9c1a4384f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlrl_seco-0.14.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e32a74c9008b76561783e5a109e4ac467a53eac46ad504e9b0be7a49ad40ef45
MD5 4f12948ef1e665cf1c1d4420d90afbb2
BLAKE2b-256 b682b8a5e05940a9175580838ef633794514d9f89321b19b0377ed9c2482554e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: mlrl_seco-0.14.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 622.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mlrl_seco-0.14.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9a0e0a764bdd7b344699fd58b63576365359f697eef46df85dda9c32dbf42cb7
MD5 a3a7b8bf58fadf3c88a64575c9688512
BLAKE2b-256 06495e215754549530422be83bc59a9e05744bbc204b1a956ce3a2285211cfea

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e3f3ae1edf2754d36bc8e0d0642b79117a878a2af6580246be35d6d043ad556e
MD5 7d4eb08f360fad086165335182981c66
BLAKE2b-256 5e31f36b073ecff51af49a2c9301f88cae776d9dbafd4aaf910258c504a93427

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 66e072b24bc037278d45bbaebff290bb5932028b8dd60ca1d5757b2636d2feae
MD5 4e5df4ce5fbed71e794e2b9742ea5b0a
BLAKE2b-256 cb0877db47e9d26005db793eabd9a65beb1852d8757e2c852d3109d3b03be428

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0ef50fba88b6000b8b90cf4df85313b33e987c7945ea0faf67685a2bf608d01c
MD5 fb45932663c4907c9b702aaa752b0cae
BLAKE2b-256 33135dbeb9d64a87bf8157f8183c19ab77dfc03361c47bf17332cd04723669f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on mrapp-ke/MLRL-Boomer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page