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 hyperparameters.
  • 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.1-cp313-cp313-win_amd64.whl (620.0 kB view details)

Uploaded CPython 3.13Windows x86-64

mlrl_seco-0.14.1-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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mlrl_seco-0.14.1-cp312-cp312-win_amd64.whl (622.5 kB view details)

Uploaded CPython 3.12Windows x86-64

mlrl_seco-0.14.1-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.1-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.1-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.1-cp313-cp313-win_amd64.whl.

File metadata

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

File hashes

Hashes for mlrl_seco-0.14.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0be940cd7271009544536f4104a8a70ce6106a798fa7514a91dd75f020c73969
MD5 3baefceb1aeff95073ef1fe0627f374f
BLAKE2b-256 adb96bb45b5bfa7cd8e99261e49cc42f4a3b95eeb712f5ffad2711210333a02f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e323a9a19be4e1ea72a098c8b66c02b717bb52b52905caa40da76b6c587c865
MD5 4438315a156c52396c3cbc490de8bf3d
BLAKE2b-256 d363578d60a8910ea3af4bcc9487c30eb9048b26ad650c3e233fc1caf93b113c

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6c7859f2c1b29d8d9e7842c0a314954330a1cb08071a8b46c6b330be62efec2e
MD5 0b6f79c41dbfe055070a768374d9e15f
BLAKE2b-256 1110bc66ff96adcfa5aa353c5f728d9806eaca6e535e0d2caaa5e0896b9e3d37

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a030aa334c121182194e86d0f0a213012e90190cd4459c90aa68edba78b6e58
MD5 083e4017e7e6e1f5415296f01a98c6bd
BLAKE2b-256 4152c857e7563af810430fd0b6923f6a79841bac4579fe3bc003ac74b1384fdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp312-cp312-win_amd64.whl.

File metadata

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

File hashes

Hashes for mlrl_seco-0.14.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1357f58623f0d43b9d95d4cd06f333fad2e7e53b9c57d8d7f1c338bc850122f6
MD5 cf263a499b8822ce719c9aa7ba38f1b3
BLAKE2b-256 d4f949afa8d687e3c6408556d83ce81e805493ad05634b64bbb0a38c96099a99

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fed89545c505b751027303123734969ff0e730cc2054c728a3c50a2d389f0437
MD5 38bc4d1c9b7246b1b525f6837201a6df
BLAKE2b-256 95be5de7a88a0de281a8a910292c8f7454a70892bfc2dffa7586da655aee2c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 989b06dff9c0023832b97b510ca0a9ee32b2ef3aac6cc9d1164267bc79e7aeda
MD5 3f054eaa1b5b737739d293e28c8fe8d4
BLAKE2b-256 8d84747b22bce599aaa52ab6ecbdce5f79d9360be13c83ac9518a6463bad837e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mlrl_seco-0.14.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23930bfc79723f39755fd8d623e9b908c3e2154f49004afa237948272ed6de53
MD5 12c02fade91a1ee4fcd2510ece689da0
BLAKE2b-256 89ecf927287868c776d79a3355a7aa6f7636261b6803a4c9c7ccc7957f5da455

See more details on using hashes here.

Provenance

The following attestation bundles were made for mlrl_seco-0.14.1-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