Partial Ranker

Partial Ranker is a library that implements methodologies for ranking a given set of objects that have a strict partial order relation. For details on Partial Ranking and its methodologies, refer to this paper.

Input:

At the moment, we support only vector objects as input. An example for a set of vector objects would be:

objects = {
    't0' : [0.1, 0.12, 0.11, 0.13 ],
    't1' : [0.10, 0.13, 0.10 ],
    't2' : [0.32, 0.31, 0.38, 0.32, 0.37, 0.32 ],
    ...
}

The better-than relation between a pair of objects with which the partial order is formed is implemented in the library. At the moment, we support better-than relation based on comparisons of the Inter-Quantile-Intervals of the objects.

Output:

The output is an ordered set partition of the objects into ranks. For example:

Rank 0: ['t0', 't1'],
Rank 1: ['t2']

Installation

Partial Ranker requires Python>=3.6 and can be installed using the command:

pip install git+https://github.com/HPAC/PartialRanker

Examples

For a hands-on experience, please clone the github repo https://github.com/HPAC/PartialRanker.git and follow the jupyter notebooks under the folder examples/.

Cite

More details on partial ranking, the methodologies and applications can be found in this paper. If you are using this library, please cite:

@article{sankaran2024ranking,
  title={Ranking with Ties based on Noisy Performance Data},
  author={Sankaran, Aravind and Karlsson, Lars and Bientinesi, Paolo},
  journal={arXiv preprint arXiv:2405.18259},
  year={2024}
}

Acknowledgement

Financial support from the Deutsche Forschungsgemeinschaft (German Research Foundation) through the grant IRTG 2379 is gratefully acknowledged.