Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is "Team" ranking possible with LSR and I-LSR? #15

Closed
fbparis opened this issue Jul 21, 2020 · 1 comment
Closed

Is "Team" ranking possible with LSR and I-LSR? #15

fbparis opened this issue Jul 21, 2020 · 1 comment

Comments

@fbparis
Copy link

fbparis commented Jul 21, 2020

First, congratulations for your paper and the awesome piece of code you provided with!

It looks like Packet-Luce ratings can outperform other ranking algorithms such TrueSkill (see here).

Some nice feature of TrueSkill are the possibility to also rank any number of "teams" of any size of TrueSkill's ratings and update the ratings of members of a team according to the team's results.

TrueSkill also can handle "partial play" for each member of a team and adjust the ratings according to the "participation ratio" of the members.

Do you think such behaviors, especially the ability to build teams, are possible with LSR / I-LSR or have any idea how I could do that?

Edit: for partial play, I guess we could simple multiply the initial weight of an edge by the participation ratio...

@lucasmaystre
Copy link
Owner

Hi @fbparis, sorry for the delay. What you say makes sense.

  • Regarding teams (composed of multiple individuals) competing against each other: that is unfortunately not yet possible with choix. It would be easy to set this up once I get around to implementing Using features as extra evidence for preference selection #4 (as you would then be able to use features to describe players).

  • Regarding partial play: currently there is no principled / recommended way of doing this, but you are right: one way to make it work would be to reweight the entries of the comparison matrix appropriately. You can do this if you use lsr_pairwise_dense or ilsr_pairwise_dense.

I suppose that if you want to experiment / hack something together quickly, you could do as follows. Every time you have an event of the type "team A beats team B", you could break this down into many pairwise comparisons (of the type "player A_i beats player B_j"), construct a comparison matrix by yourself by appropriately weighting each comparison, and call ilsr_pairwise_dense.

Does this help?

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

No branches or pull requests

2 participants