def test_htrees(data, queryShape, all_queries):
    global method_list, exp_name
    exp_name = "htrees"
    method_list = ["ht-standard"]
    #    method_list = ['ht-standard','ht-composite']
    #'ht-pure','ht-true','ht-standard','ht-composite','ht-hybrid','ht-hybrid-skew','ht-composite-localness','ht-hybrid-localness'
    res_cube_abs = np.zeros((len(eps_list), len(seed_list), len(method_list)))
    res_cube_rel = np.zeros((len(eps_list), len(seed_list), len(method_list)))

    for j in range(len(seed_list)):
        queryList = all_queries[j]
        kexp = GKExp(data, queryList)
        p = Params(seed_list[j])

        for i in range(len(eps_list)):
            p.Eps = eps_list[i]
            for k in range(len(method_list)):

                if method_list[k] == "ht-pure":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_pure(p)
                elif method_list[k] == "ht-true":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_true(p)
                elif method_list[k] == "ht-standard":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_standard(p)
                elif method_list[k] == "ht-composite":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_composite(p)
                elif method_list[k] == "ht-composite-localness":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_composite_localness(p)
                elif method_list[k] == "ht-hybrid":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_hybrid(p)
                elif method_list[k] == "ht-standard-skew":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_standard_skew(p)
                elif method_list[k] == "ht-hybrid-skew":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_hybrid_skew(p)
                elif method_list[k] == "ht-standard-adaptive":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_standard_adaptive(p)
                elif method_list[k] == "ht-hybrid-localness":
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_hybrid_localness(p)
                else:
                    logging.error("No such index structure!")
                    sys.exit(1)
    res_abs_summary = np.average(res_cube_abs, axis=1)
    res_rel_summary = np.average(res_cube_rel, axis=1)
    # np.savetxt(Params.resdir+exp_name+'_abs_'+`int(queryShape[0]*10)`+'_'+`int(queryShape[1]*10)`, res_abs_summary, fmt='%.4f\t')
    np.savetxt(
        Params.resdir + exp_name + "_rel_" + ` int(queryShape[0] * 10) ` + "_" + ` int(queryShape[1] * 10) `,
        res_rel_summary,
        fmt="%.4f\t",
    )
Exemple #2
0
def test_htrees(data, queryShape, all_queries):
    global method_list, exp_name
    exp_name = 'htrees'
    method_list = ['ht-standard']
    #    method_list = ['ht-standard','ht-composite']
    #'ht-pure','ht-true','ht-standard','ht-composite','ht-hybrid','ht-hybrid-skew','ht-composite-localness','ht-hybrid-localness'
    res_cube_abs = np.zeros((len(eps_list), len(seed_list), len(method_list)))
    res_cube_rel = np.zeros((len(eps_list), len(seed_list), len(method_list)))

    for j in range(len(seed_list)):
        queryList = all_queries[j]
        kexp = GKExp(data, queryList)
        p = Params(seed_list[j])

        for i in range(len(eps_list)):
            p.Eps = eps_list[i]
            for k in range(len(method_list)):

                if method_list[k] == 'ht-pure':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_pure(p)
                elif method_list[k] == 'ht-true':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_true(p)
                elif method_list[k] == 'ht-standard':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_standard(p)
                elif method_list[k] == 'ht-composite':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_composite(p)
                elif method_list[k] == 'ht-composite-localness':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_composite_localness(p)
                elif method_list[k] == 'ht-hybrid':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_hybrid(p)
                elif method_list[k] == 'ht-standard-skew':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_standard_skew(p)
                elif method_list[k] == 'ht-hybrid-skew':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_hybrid_skew(p)
                elif method_list[k] == 'ht-standard-adaptive':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_standard_adaptive(p)
                elif method_list[k] == 'ht-hybrid-localness':
                    res_cube_abs[i, j, k], res_cube_rel[i, j, k] = kexp.run_HT_hybrid_localness(p)
                else:
                    logging.error('No such index structure!')
                    sys.exit(1)
    res_abs_summary = np.average(res_cube_abs, axis=1)
    res_rel_summary = np.average(res_cube_rel, axis=1)
    #np.savetxt(Params.resdir+exp_name+'_abs_'+`int(queryShape[0]*10)`+'_'+`int(queryShape[1]*10)`, res_abs_summary, fmt='%.4f\t')
    np.savetxt(Params.resdir + exp_name + '_rel_' + `int(queryShape[0] * 10)` + '_' + `int(queryShape[1] * 10)`,
               res_rel_summary, fmt='%.4f\t')