Advanced features for bandits with or without context.
Project description
ilovebandits
The implementation has been developed in Python 3. We are currently in a pre-alpha version focusing on adding core features and stabilizing architecture.
Motivation
There are a lot of potential business problems that can be solved with bandits, but current implementations lack some features that can be very useful to apply bandits in new scenarios. The main goal of this package is to provide a simple and easy-to-use interface to work with bandits, while also providing some advanced features that are not available in other packages.
Main industry limitations that this package addresses:
-
Advanced contextual bandits with ensembles of trees There are not many implementations of advanced contextual bandits that allow the use of ensemble-of-trees methods. This is a limitation because ensemble methods are very powerful for tabular data. They need less data than neural networks and can capture richer patterns than the common linear methods employed in bandits.
-
Ability to define composed rewards In many real-world scenarios, the reward is not a single value but a combination of different sub-rewards that can be observed at different times. For example, in a recommendation system, the final reward can be a combination of immediate clicks, time spent on the platform, and long-term user retention. Being able to define and use these sub-rewards can significantly improve the performance of the bandit algorithm, and we can also update the bandit more often for each subpart as soon as it comes.
This package concentrates on
- The use of ensemble-of-trees methods for contextual bandits.
- The use of composed rewards where the bandit can be fed with different types of sub-rewards in time. Here, we define a long-term global reward, which we break down into smaller, shorter-term rewards that allow us to update the bandit much earlier than if we waited for the global reward.
These small updates also change the global reward estimate employed by the bandit to take the final decision.
This package is intended to provide a quick, as well as (hopefully) easy-to-understand, way of running bandit simulations and core functions to create ready-to-use solutions for the industry.
Installation
Installation/Usage: Installation/Usage details in official docs
Documentation
Documentation: Official documentation of the project in readthedocs
Current version content and limitations
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ilovebandits-0.1.0a2.tar.gz.
File metadata
- Download URL: ilovebandits-0.1.0a2.tar.gz
- Upload date:
- Size: 76.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bae11482f8f7d05080725d8606e0dc215905301109a887d43e3afe950b17e6a
|
|
| MD5 |
74184c278b04622ba38023798c61d14f
|
|
| BLAKE2b-256 |
17ab752774a764f7d596452aaa5acf36b5027ff903bf4138ba2ff5621955fe54
|
Provenance
The following attestation bundles were made for ilovebandits-0.1.0a2.tar.gz:
Publisher:
cd-pipeline.yml on Abel-24pal/ilovebandits
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ilovebandits-0.1.0a2.tar.gz -
Subject digest:
5bae11482f8f7d05080725d8606e0dc215905301109a887d43e3afe950b17e6a - Sigstore transparency entry: 543798985
- Sigstore integration time:
-
Permalink:
Abel-24pal/ilovebandits@2d529d7339bfffe80719970d0f17605342ef1148 -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/Abel-24pal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-pipeline.yml@2d529d7339bfffe80719970d0f17605342ef1148 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ilovebandits-0.1.0a2-py3-none-any.whl.
File metadata
- Download URL: ilovebandits-0.1.0a2-py3-none-any.whl
- Upload date:
- Size: 30.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be6b1adc4c6df010fac31a62a74aa27cf47efc74eafc569f957a5b961830ae6e
|
|
| MD5 |
14cb193f3a71b56e7acd2db193750209
|
|
| BLAKE2b-256 |
1f10e825d3c83ddbb1c24e8608cf6f835b62160f569bb0908f66f004e5108624
|
Provenance
The following attestation bundles were made for ilovebandits-0.1.0a2-py3-none-any.whl:
Publisher:
cd-pipeline.yml on Abel-24pal/ilovebandits
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ilovebandits-0.1.0a2-py3-none-any.whl -
Subject digest:
be6b1adc4c6df010fac31a62a74aa27cf47efc74eafc569f957a5b961830ae6e - Sigstore transparency entry: 543799003
- Sigstore integration time:
-
Permalink:
Abel-24pal/ilovebandits@2d529d7339bfffe80719970d0f17605342ef1148 -
Branch / Tag:
refs/tags/v0.1.0a2 - Owner: https://github.com/Abel-24pal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd-pipeline.yml@2d529d7339bfffe80719970d0f17605342ef1148 -
Trigger Event:
push
-
Statement type: