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

Uploaded CPython 3.13Windows x86-64

mlrl_seco-0.13.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.13.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.13.1-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

mlrl_seco-0.13.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.13.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.13.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.13.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mlrl_seco-0.13.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.12.8

File hashes

Hashes for mlrl_seco-0.13.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 25f985337fe075fc3e4bff7ac3caeee9c308bfad53522d8b5dc51c35fbad1516
MD5 ca4adc8829c24ca54e09e79ffd623dfd
BLAKE2b-256 6cc8518cb89f151338c57bfe8f6c329d9e10222a4d8031e6125f744f09ee4a86

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.13.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cec93034e604a3437810cc53b96915c79a72ef09e35c8a8df75ff6ec173d1089
MD5 aac18e88a04fa760df355f57d4ee0bfa
BLAKE2b-256 05bbea4d6a15d894f882257e747d5bbd29dd8fea2f6f68c99d19ac6f911caaba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.13.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2ad344aa42d9aac4d71aeacc086bb014d9c72eb7447234daa6a93a552e873293
MD5 ae9692494d28546d157b4c134440c319
BLAKE2b-256 f74bd50d4477f2520f9c28e7c1164a3ff7ebd930224fd267c7e1008ed91e08f2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.13.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9677765894ebe9cc3749f42b0a8f289bce8d8e8f297273e01bb5a14c358edd59
MD5 d624f6cf7b38eb631bf289e7f0963759
BLAKE2b-256 39aa8dafbe8929b9990b5e29fef9ffb50e523ae52e561ebdafa51d4d5d831f9e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mlrl_seco-0.13.1-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.13.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1cff143f0a4f8b681cf75dcfc205085bea99149a95d34f7c84c26b43ceb21542
MD5 6843ff3da19c3ec9f02aaf59720141ac
BLAKE2b-256 da09051e58a7d4ca3a70245e622dc3421941e3a7f5627811aae7b84d1a222f52

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.13.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 60542106538fe52161086cf7e0124cbe8ffea5345787eabea5e95122e0c54abe
MD5 47aa6e543173656744dd980b7419c423
BLAKE2b-256 8eb33c8ec8d251d19757461be6b50bc2183a09e4f29de0a6daaeb68f331ed7fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.13.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 179cf779091cc471c9f1907d333b6acd6d5fec281c6a8c3006883d3dd301d400
MD5 8b1da2b4ef33d25d51597a0d92a7f634
BLAKE2b-256 b20bd8de53e438dfc6c8b838a27124e2d73ca61d0e3b23aa4eb825bc859d07c7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e7af7b73033490d2a7e9bb5bb0067eae6141f0d93255359a23eee08d46eb80a
MD5 6d11a01850cb15d10182ee0de73fab09
BLAKE2b-256 5ec0ef046ffd8e191f7ac9098195d257d844cf7f717d59b3deb11ec74edd38d4

See more details on using hashes here.

Provenance

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