Skip to content

mbalchanowski/Rank-aggregation-basic-informations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

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: