コード例 #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
    (mu0, sigma0) = opt.x

    print()
    print('Error-minimizing Parameters:')
    print('mu0:       %7.2f' % mu0)
    print('sigma0:    %7.2f' % sigma0)
    print('beta:      %7.2f' % beta)
    print('tau:       %7.2f' % tau)
    print('draw_prob: %7.2f' % dp)

    # 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:')