Inference algorithms for models based on Luce's choice axiom.
Project description
choix
choix is a Python library that provides inference algorithms for models based on Luce's choice axiom. These probabilistic models can be used to explain and predict outcomes of comparisons between items.
- Pairwise comparisons: when the data consists of comparisons between two items, the model variant is usually referred to as the Bradley-Terry model. It is closely related to the Elo rating system used to rank chess players.
- Partial rankings: when the data consists of rankings over (a subset of) the items, the model variant is usually referred to as the Plackett-Luce model.
- Top-1 lists: another variation of the model arises when the data consists of discrete choices, i.e., we observe the selection of one item out of a subset of items.
- Choices in a network: when the data consists of counts of the number of visits to each node in a network, the model is known as the Network Choice Model.
choix makes it easy to infer model parameters from these different types of data, using a variety of algorithms:
- Luce Spectral Ranking
- Minorization-Maximization
- Rank Centrality
- Approximate Bayesian inference with expectation propagation
Getting started
To install the latest release directly from PyPI, simply type:
pip install choix
To get started, you might want to explore one of these notebooks:
- Introduction using pairwise-comparison data
- Case study: analyzing the GIFGIF dataset
- Using ChoiceRank to understand traffic on a network
- Approximate Bayesian inference using EP
You can also find more information on the official documentation. In particular, the API reference contains a good summary of the library's features.
References
- Hossein Azari Soufiani, William Z. Chen, David C. Parkes, and Lirong Xia, Generalized Method-of-Moments for Rank Aggregation, NIPS 2013
- François Caron and Arnaud Doucet. Efficient Bayesian Inference for Generalized Bradley-Terry models. Journal of Computational and Graphical Statistics, 21(1):174-196, 2012.
- Wei Chu and Zoubin Ghahramani, Extensions of Gaussian processes for ranking: semi-supervised and active learning, NIPS 2005 Workshop on Learning to Rank.
- David R. Hunter. MM algorithms for generalized Bradley-Terry models, The Annals of Statistics 32(1):384-406, 2004.
- Ravi Kumar, Andrew Tomkins, Sergei Vassilvitskii and Erik Vee, Inverting a Steady-State, WSDM 2015.
- Lucas Maystre and Matthias Grossglauser, Fast and Accurate Inference of Plackett-Luce Models, NIPS, 2015.
- Lucas Maystre and M. Grossglauser, ChoiceRank: Identifying Preferences from Node Traffic in Networks, ICML 2017.
- Sahand Negahban, Sewoong Oh, and Devavrat Shah, Iterative Ranking from Pair-wise Comparison, NIPS 2012.
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 choix-0.4.1.tar.gz.
File metadata
- Download URL: choix-0.4.1.tar.gz
- Upload date:
- Size: 112.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c85d13845400932508c45a6a6a3e7a44f637969ffd506e1c7f5db07de1560b4
|
|
| MD5 |
1962dfa59d64337b9857cff053d9c7d3
|
|
| BLAKE2b-256 |
cc839c9b9aa651e16813ca893b70f4384f2e9c369eafd5922f4ddaf32cde2e9e
|
File details
Details for the file choix-0.4.1-py3-none-any.whl.
File metadata
- Download URL: choix-0.4.1-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15fe145ffc194dc6b4ba5a44ef24667fa0107578fb5b36723ab0b5e87eeae29f
|
|
| MD5 |
bbf1529b1e525fd5a27dbf0f001926e1
|
|
| BLAKE2b-256 |
81f18ce3fa2fe1649c93ab7e177c3b11b9fd98c66180af3a365cfe7bd0118806
|