mbalchanowski / Rank-aggregation-basic-informations

Repository with basic information about Rank Aggregation Problem.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is Rank Aggregation?

Rank aggregation is the process of combining multiple ranked lists into a single ranking. An example of a score-based rank aggregation method is shown below (picture from here):

Rank Aggregation in Recommendation Systems

As pointed out in Aggarwal, C.C. (2016). Advanced Topics in Recommender Systems (page 417), this is a relatively unexplored approach in the context of recommendation systems, where instead of a single algorithm, a certain set of algorithms is used that generate recommendations for a given user, and then the results of these algorithms are aggregated to create a new recommendation. Aggregation is not a trivial problem, as there is no single universal method for combining such rankings.

I have created a simple figure to demonstrate this process:

Where to start?

Blog Posts:

Publications:

Software:

There is some excellent software written in Python and R which can help you.

Python

  • Ranx - A Blazing-Fast Python Library for Ranking Evaluation, Comparison, and Fusion.
  • Ranky - Another good library for ranking problem written in Python.
  • RecRankAgg - Easy to use rank aggregation software for recommendation systems.
  • MC4 - An implementation of Markov Chain Type 4 Rank Aggregation algorithm in Python.
  • Kemeny_ranking - (Exact) Kemeny rank-aggregation using Integer-Programming with Python.
  • Pyrankagg - Pure python code for rank aggregation/voting.

R

  • RankAggreg - R package for weighted rank aggregation.

Java

  • ERA - This repository contains the implementation of the Evolutionary Rank Aggregation (ERA) method proposed in here.

More: