Skip to main content

Gaussian reward sampler for Contextual Bandit news recommendation system

Project description

rlcmab-sampler

A reward sampler for Contextual Bandit news recommendation systems.

Installation

pip install rlcmab-sampler

Quick Start

from sampler import sampler

# Initialize with your roll number (i)
reward_sampler = sampler(i=42)

# Get a reward from arm j
reward = reward_sampler.sample(j=5)
print(reward)

# Sample a few arms
for j in range(3):
    print(j, reward_sampler.sample(j))

API Reference

sampler(i, n_arms=12)

Initialize a new sampler instance.

Parameters:

  • i (int): Student ID used to seed the random number generator
  • n_arms (int, optional): Number of arms/articles. Default: 12

Attributes:

  • means: List of mean values for each Gaussian distribution
  • stds: List of standard deviations for each Gaussian distribution
  • distributions: List of scipy.stats.norm distribution objects

sample(j)

Sample a reward from the specified arm.

Parameters:

  • j (int): Arm index (must be between 0 and 11)

Returns:

  • float: Reward value sampled from the arm's Gaussian distribution

Raises:

  • ValueError: If j is not in the valid range [0, 11]

Reproducibility

For the same student ID i, the generated arm distributions remain the same across runs. Different student IDs map to different distributions.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rlcmab_sampler-1.0.1.tar.gz (1.8 kB view details)

Uploaded Source

Built Distribution

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

rlcmab_sampler-1.0.1-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

Details for the file rlcmab_sampler-1.0.1.tar.gz.

File metadata

  • Download URL: rlcmab_sampler-1.0.1.tar.gz
  • Upload date:
  • Size: 1.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rlcmab_sampler-1.0.1.tar.gz
Algorithm Hash digest
SHA256 85298e45e51ec3275ce25e4c01fa8639d2b78d2f257578795b2484040527b1f3
MD5 977d1b502e264af8962c0f796094b01a
BLAKE2b-256 2e121920522800e927ed5746c59f2c33f208f91ad2075ad4062dd14b53571d21

See more details on using hashes here.

File details

Details for the file rlcmab_sampler-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: rlcmab_sampler-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 2.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for rlcmab_sampler-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c33980f9219312f74b140f4627f82dc45c6845145bd1a783e99e22e62e525e21
MD5 eb79eb2117102dbb36496de9e5664e20
BLAKE2b-256 c97bc58aee6d859ac459252f159e5571c4182c2d0f02ebbed954ad663c202608

See more details on using hashes here.

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