Shapley-Numba - computations on cooperative games using Numba. Author and compute cooperative games with ease. Package provides: - Shapley Values - Harsanyi Dividends (a.k.a. synergies)
Project description
Shapley Numba
Numba-based computations for cooperative games.
Installation
pip:
pip install shapley-numba
uv
uv add shapley-numba
Dependencies
shapley-numba package depends only on numba and numpy.
Features
- Fast exact Shapley calculation.
- Shapley Monte Carlo approximation.
- Harsanyi Dividends (synergies) computation.
- Set iteration tools.
- Game authoring tools and game templates.
Quickstart
See tutorial notebook for quick start.
Usage
This package is intended to compute quantities associated with cooperative games. Currently we want to implement two functions:
- Shapley values
- Harsanyi dividends, also called synergies.
This package also provides tools to author and modify cooperative games, such as game templates.
A game is a class that implements value method. The value method should accept a numpy array of zeros and ones indicating membership of each element in the subset.
The intended use of the package is for games where each computation of value is relatively cheap. This allows to speed up such computations using numba.
For optimal performance, the game should be written so that it can be compiled using numba.experimental.jitclass compiler. That way, numba compiled functions can be applied. Otherwise, a python fallback will be applied.
The basic usage is as follows:
from shapley_numba.shapley import shapley
from shapley_numba.examples import GloveGame
glove_game = GloveGame(num_left_gloves=1)
shapley(glove_game, num_players=3)
See documentation for detailed reference.
Credits
Dimitry Offengenden participated in development of this code and contributed several game examples.
This code was developed with assistance from Google Gemini Code Assist (version 2.52.0).
This code was developed with assistance from Claude Code.
Alternatives
- SHAP applies Shapley values to machine learning models but can be used in conjunction with any game.
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 shapley_numba-0.0.5.tar.gz.
File metadata
- Download URL: shapley_numba-0.0.5.tar.gz
- Upload date:
- Size: 180.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5df5c229cda6d24fa1d4de2f7b240a1713b311d1f4b23f7e8e9b4850a47bb45
|
|
| MD5 |
6fa9f1a665c4878b2315124ad3030d54
|
|
| BLAKE2b-256 |
aafa885164d2809f56c61356ba65ff981dd270165e58ba0e15c80080c2d358ec
|
File details
Details for the file shapley_numba-0.0.5-py3-none-any.whl.
File metadata
- Download URL: shapley_numba-0.0.5-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b45cce1bf93a40a4219f37d46c4e39292907e773978d4f8118f8daf41986c87
|
|
| MD5 |
a65663001a03791ac615a3959d693238
|
|
| BLAKE2b-256 |
c4b463b1790a368db61a1422a78a4b70200f2a2e1746f88b61dad7cd873eb2fc
|