Exemplo n.º 1
0
def test_latest_small_implicit():
    test_count = 8
    evaluation_base = 4
    ans = [0] * evaluation_base
    for k in xrange(test_count):
        method.generate_data_latest_small_implicit(test_count, k)
        method.generate_matrix(implicit=True)
        b = method.evaluate_implicit()
        for x in xrange(evaluation_base):
            ans[x] += b[x]
    for x in xrange(evaluation_base):
        ans[x] /= test_count
    print ans
Exemplo n.º 2
0
def test100k_explicit():
    test_count = 5
    evaluation_base = 2
    ans = [0] * evaluation_base
    for k in xrange(1, test_count + 1):
        method.generate_data_100k_explicit(k)
        method.generate_matrix(implicit=False)
        b = method.evaluate_explicit()
        for x in xrange(evaluation_base):
            ans[x] += b[x]
    for x in xrange(evaluation_base):
        ans[x] /= test_count
    print ans
Exemplo n.º 3
0
def test1m_with_rating():
    start = datetime.datetime.now()
    ans = [0, 0]
    for k in xrange(1, 6):
        method.generate_data_1m_with_rating(8, k)
        method.generate_matrix(with_rating=True)
        b = method.evaluate_with_rating()
        for x in xrange(0, 2):
            ans[x] += b[x]
    for x in xrange(0, 2):
        ans[x] /= 8
    print ans
    end = datetime.datetime.now()
    print datetime.timedelta(seconds=(end - start).total_seconds() / 8)
Exemplo n.º 4
0
def test100k():
    start = datetime.datetime.now()
    ans = [0, 0, 0, 0]
    for k in xrange(1, 6):
        method.generate_data_100k(k)
        method.generate_matrix()
        b = method.evaluate()
        for x in xrange(0, 4):
            ans[x] += b[x]
    for x in xrange(0, 4):
        ans[x] /= 5
    print ans
    end = datetime.datetime.now()
    print datetime.timedelta(seconds=(end - start).total_seconds() / 5)
Exemplo n.º 5
0
def test(flag):
    print("%10s%10s%15s%10s%10s%10s%20s%20s%20s%20s" %
          ("step", "gamma", "slow_rate", "lamb", "k", "ratio", "recall",
           'precision', 'coverage', 'popularity'))

    stplist = [50]
    gamlist = [0.06, 0.02, 0.001]
    slralist = [0.9]
    lamblist = [0.025, 0.01]
    klist = [10, 30, 60, 150]
    ratlist = [5, 10, 15]

    for steps in stplist:
        for gamma in gamlist:
            for slow_rate in slralist:
                for lamb in lamblist:
                    for kl in klist:
                        for ratio in ratlist:

                            test_count = 5
                            result_num = 2 if flag else 4
                            ans = [0] * result_num
                            for k in xrange(1, test_count + 1):
                                method.read_data(flag, k)

                                method.generate_matrix(flag, steps, gamma,
                                                       slow_rate, lamb, kl,
                                                       ratio)

                                if flag:
                                    b = method.evaluate_flag(flag)
                                else:
                                    b = method.evaluate_notflag(flag)

                                for x in xrange(result_num):
                                    ans[x] += b[x]

                            for x in xrange(result_num):
                                ans[x] /= test_count

                            print(
                                "%9d%11.3f%12.2f%14.3f%9d%8d%19.3f%%%19.3f%%%19.3f%%%20.3f"
                                % (steps, gamma, slow_rate, lamb, kl, ratio,
                                   ans[0] * 100, ans[1] * 100, ans[2] * 100,
                                   ans[3]))