ChoiceRank
Page last edited on 2018-05-02
ChoiceRank is an algorithm that estimates the transition probabilities
along the edges of a network based on the networks’s structure and on the
traffic at each node of the network. For example, it can be used to estimate
the probability of users clicking on any link of a Wikipedia page, given a
hyperlink graph (such as this one) and the number of views each page
got.
The algorithm and the underlying model are described in the following paper:
ICML 2017
Lucas Maystre, Matthias Grossglauser
ChoiceRank: Identifying Preferences from Node Traffic in Networks
There are two implementations of ChoiceRank available at the moment.
- Python: the choix library provides an implementation that is
well-tested an easy to use, and that scales seamlessly to graphs containing
up to a few million nodes. Check out this Jupyter notebook to get
started.
- Rust: for very large graphs, there is an experimental implementation
of ChoiceRank written in Rust that is computationally very efficient (it is
based on Frank McSherry’s code for COST). Documentation is a bit lacking
at the moment, drop me a line if you need help!