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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

mlrl_seco-0.14.2-cp312-cp312-win_amd64.whl (620.8 kB view details)

Uploaded CPython 3.12Windows x86-64

mlrl_seco-0.14.2-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.2-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.2-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.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mlrl_seco-0.14.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 617.6 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3d24e2a5b6e5829e8df4cc150cac69959d88812dbd033c4898b6af7fe3e1bc47
MD5 31f6c77dd9754ff92502c78b053ed77b
BLAKE2b-256 e4f57d060bbd699f376ce10c151bede672ae4050c4e1d572510aa726d490d05d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2c03861476e5ca508af24c32ff56c7a3c24df7159ff0761480c5370c356f4549
MD5 2dc62c44b417b091a5cdee85fd3fcc59
BLAKE2b-256 4235ce6609e842b51838cca7a9e50cdbe08005484fc26387de55a42d580aa6d9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2c92741b36c6343aab9b9242b4242c6ced5e6d94fd5ab4a37e4c58f665cd0f1f
MD5 04fd9dd493b2d5fd93826884db30c16d
BLAKE2b-256 57e3c58dcb349c8bba204f0e5a4c9226c181cd19cff5e9108ec095213ae86437

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de5e6f13e47ae9a9a92f6fa2594ec2c24f02296bc79161806d12d2341b4dba8b
MD5 12ebb90d464d1f45a6f319705f7add04
BLAKE2b-256 de7d3c9870601de2db6680371b9919e6d65631dcfa653c2b02e9f4c806537577

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: mlrl_seco-0.14.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 620.8 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c2ddb463d8c120797f3342532037a0d925bcdff4fc846c8cf731b385cbf832e3
MD5 62e4ae14dc112314bdec0047c8617098
BLAKE2b-256 5fbe055f35db4a8c6e681869638a04d028d19383247abfe878b5d02e8b68bbaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 302911448c1bd5d7529476bda9a1b22a8e9dbf999350282e8ce3e5cb550d88a3
MD5 71e2a5be78c72b8697b82cf5b17f6c99
BLAKE2b-256 9d77cda53d2d4539e10f6aef841bd00345d46b138b9b14824ec8ebfe6c679344

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f1a8c00eae5850807f723dde4ef0a1350a062e48568bcd14063074d3bc3e5af
MD5 36b3e51e12089a9b6e8d03d26d2d6404
BLAKE2b-256 a4478b2bac9c57aca12b5f40ef001399fdfb19f4bf4bc12c758e8fbd57855d47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mlrl_seco-0.14.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8d477a7490ecb7377bd2ff0f3af1fc88c65a5a0762c0770f8714fa5562f32b5
MD5 61fed823d5e80033a4cd97d873e13e22
BLAKE2b-256 3b60098ebc9339707a1140638d892617c6b65f72ad3f1a7994f289c2c2a0977e

See more details on using hashes here.

Provenance

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