示例#1
0
def ts_update_error(x, rA1, rA2, rB1, rB2, scoreA):
    (beta, tau, dp) = x
    env = trueskill.TrueSkill(beta=beta, tau=tau,
                              draw_probability=dp,
                              backend='mpmath')
    tss = TrueSkillSystem('trueskill', env)
    (rAp, rBp) = tss.rate2p(rA1, rB1, scoreA)
    err = math.sqrt(distance(rAp, rA2)**2 + distance(rBp, rB2)**2)
    return err
示例#2
0
    # Test it on a third game
    goko_env = trueskill.TrueSkill(mu=mu0, sigma=sigma0,
                                   beta=beta, tau=tau,
                                   draw_probability=dp,
                                   backend='mpmath')
    goko_tss = TrueSkillSystem('Goko', goko_env)

    # Game data for two experienced players with similar ratings
    # Initial ratings
    print()
    print('Testing Parameters on Game 3...')
    rA1 = Rating(6789.036432492558, 262.8329415491707)
    rB1 = Rating(7108.43720451577, 266.9581590879031)
    scoreA = 1
    # Post-game ratings
    rA2 = Rating(6822.354187108161, 262.6577478580567)
    rB2 = Rating(7074.076798465825, 266.6845904766116)

    (rAx, rBx) = goko_tss.rate2p(rA1, rB1, scoreA)
    error = distance(rA2, rAx)**2 + distance(rB2, rBx)**2
    print('Initial ratings:')
    print(' A: %7.2f +/- %5.2f' % (rA1.mu, rA1.sigma))
    print(' B: %7.2f +/- %5.2f' % (rB1.mu, rB1.sigma))
    print('Expected post-game ratings:')
    print(' A: %7.2f +/- %5.2f' % (rAx.mu, rAx.sigma))
    print(' B: %7.2f +/- %5.2f' % (rBx.mu, rBx.sigma))
    print('Observed post-game ratings:')
    print(' A: %7.2f +/- %5.2f' % (rA2.mu, rA2.sigma))
    print(' B: %7.2f +/- %5.2f' % (rB2.mu, rB2.sigma))
    print('Rating prediction error: %6.4f' % error)