Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

choix

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

choix

Inference algorithms for models based on Luce's choice axiom.

  • 0.3.6
  • PyPI
  • Socket score

Maintainers
1

choix

|build-status| |coverage| |docs|

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 <https://github.com/lucasmaystre/choix/blob/master/notebooks/intro-pairwise.ipynb>_
  • Case study: analyzing the GIFGIF dataset <https://github.com/lucasmaystre/choix/blob/master/notebooks/gifgif-dataset.ipynb>_
  • Using ChoiceRank to understand traffic on a network <https://github.com/lucasmaystre/choix/blob/master/notebooks/choicerank-tutorial.ipynb>_
  • Approximate Bayesian inference using EP <https://github.com/lucasmaystre/choix/blob/master/notebooks/ep-example.ipynb>_

You can also find more information on the official documentation <http://choix.lum.li/en/latest/>. In particular, the API reference <http://choix.lum.li/en/latest/api.html> 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.

.. _Generalized Method-of-Moments for Rank Aggregation: https://papers.nips.cc/paper/4997-generalized-method-of-moments-for-rank-aggregation.pdf

.. _Efficient Bayesian Inference for Generalized Bradley-Terry models: https://hal.inria.fr/inria-00533638/document

.. _Extensions of Gaussian processes for ranking: semi-supervised and active learning: http://www.gatsby.ucl.ac.uk/~chuwei/paper/gprl.pdf

.. _MM algorithms for generalized Bradley-Terry models: http://sites.stat.psu.edu/~dhunter/papers/bt.pdf

.. _Inverting a Steady-State: http://theory.stanford.edu/~sergei/papers/wsdm15-cset.pdf

.. _Fast and Accurate Inference of Plackett-Luce Models: https://infoscience.epfl.ch/record/213486/files/fastinference.pdf

.. _ChoiceRank: Identifying Preferences from Node Traffic in Networks: https://infoscience.epfl.ch/record/229164/files/choicerank.pdf

.. _Iterative Ranking from Pair-wise Comparison: https://papers.nips.cc/paper/4701-iterative-ranking-from-pair-wise-comparisons.pdf

.. |build-status| image:: https://api.travis-ci.com/lucasmaystre/choix.svg?branch=master :alt: build status :target: https://app.travis-ci.com/github/lucasmaystre/choix

.. |coverage| image:: https://codecov.io/gh/lucasmaystre/choix/branch/master/graph/badge.svg :alt: code coverage :target: https://codecov.io/gh/lucasmaystre/choix

.. |docs| image:: https://readthedocs.org/projects/choix/badge/?version=latest :alt: documentation status :target: http://choix.lum.li/en/latest/?badge=latest

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc