smerdov / pyglicko2 Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/pyglicko2
Automatically exported from code.google.com/p/pyglicko2
Hi, just tweaked to use the new version of glicko. Appears to be working
(tested against the paper's test). You may want to try and merge in:
http://code.google.com/r/lmeyerov-glicko2update/source/checkout .
Original issue reported on code.google.com by [email protected]
on 17 May 2012 at 12:47
Hi,
The player class has the rating stored in the Glicko2 scale. This forces to
calculate the Glicko2 ratings when passing parameters to the update_player
function as in your example.
In my opinion it would make a lot more sense to store the rating in
standard format and convert it on the fly before and after updating the
player's rating, and changing the definition.
Definition:
update_player(self, p_rating_list, p_RD_list, outcome_list)
Notice that "outcome_list" is not a list of "bools" as indicated in your
documentation but a list of "floats", since matches can be drawn and
therefore the outcome would be: 0.5.
At the beginning of update_player
self.rating = (self.rating - 1500) / 173.7178
self.rd = self.rd / 173.7178
rating_list = [ ( x - 1500) / 173.7178 for x in p_rating_list]
RD_list = [ x / 173.7178 for x in p_RD_list]
At the end of update_player
self.rating = self.rating * 173.7178 + 1500
self.rd = self.rd * 173.7178
The definition of __init__( self, rating = 0, rd = (200/173.7178), vol =
0.06) would be changed to:
__init__( self, rating = 1500, rd = 350, vol = 0.06)
Notice the rd = 350, as you have 200 and the the Glicko2 paper proposes 350
as the default value.
In your example, we would change the following line:
Ryan.update_player([(x - 1500) / 173.7178 for x in [1400, 1550, 1700]],
[x / 173.7178 for x in [30, 100, 300]], [1, 0, 0])
To be the following:
Ryan.update_player([1400, 1550, 1700]], [30, 100, 300], [1, 0, 0])
This is a lot more readable for anyone making use of the code and later
using "Player.rating" makes a lot more sense.
Best regards
Original issue reported on code.google.com by [email protected]
on 16 Dec 2009 at 12:34
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.