Skip to content

Implementation of Handling Arbitrary Miscalibrations in Ratings#185

Open
AvitalZar wants to merge 10 commits into
voting-tools:mainfrom
AvitalZar:rgcr-func
Open

Implementation of Handling Arbitrary Miscalibrations in Ratings#185
AvitalZar wants to merge 10 commits into
voting-tools:mainfrom
AvitalZar:rgcr-func

Conversation

@AvitalZar
Copy link
Copy Markdown

Hi :)

I have implemented the core algorithm from the paper "Handling Arbitrary Miscalibrations in Ratings" (https://arxiv.org/abs/1806.05085). This algorithm provides a probabilistic method for ranking a set of items based on their scores, combining preference-based ranking and numerical ratings.

Here is a summary of the changes introduced in this PR:

  • New Feature Implementation:

    I added the Randomized Grade Calibrated Ranking (RGCR) function. I placed it in the stochastic_methods file, as it relies on a probabilistic approach to generate the final ranking. I didn't place it under probabilistic methods, since computing the exact probability for each item is computationally impractical here, stochastic_methods felt like the most logical home. However, I am completely open to relocating it if you feel another file is more appropriate.

  • Comprehensive Testing:
    I added a set of comprehensive tests for the new function in a new file: test/test_rgcr_method. Since I could not find an existing location for function-specific tests, I created this separate file. The tests thoroughly verify the algorithm's properties as described in the original paper.

  • Dependencies:
    I updated the requirements file to include 'sortedcontainers'. This library was required for a specific data structure used during one of the internal checks within the function.

Everything has been tested and works as expected.
I would appreciate your feedback and review!

Best regards,
Avital Zar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant