예제 #1
0
파일: nnu_test.py 프로젝트: psclib/pscgen
def gen_colormap(max_alpha, max_beta, storage, NNU_X, NNU_D, nbrs, base_path, random=False, verbose=False):
    base_path = "/home/brad/11.15/"
    if random:
        iden = "random"
    else:
        nnu = NNU(max_alpha, max_beta, storage)
        nnu.build_index(NNU_D)
        iden = nnu.name

    count = np.zeros((max_alpha, max_beta))
    for alpha in range(1, max_alpha + 1):
        for beta in range(1, max_beta + 1):
            if not random:
                nnu_nbrs = nnu.index(NNU_X, alpha=alpha, beta=beta)
            else:
                nnu_nbrs = []
                for x in X:
                    idxs = np.random.permutation(len(D))[: alpha * beta]
                    nnu_nbrs.append(idxs[np.argmax(np.abs(np.dot(D[idxs], x)))])

            pct_found = len(np.where(nnu_nbrs == nbrs)[0]) / float(len(X))
            count[alpha - 1, beta - 1] = pct_found
            print alpha, beta, count[alpha - 1, beta - 1]

    # plt.imshow(count, interpolation='nearest', vmin=0, vmax=1)
    # plt.colorbar()
    # fig = plt.gcf()
    # fig.set_size_inches(18.5, 10.5)
    # plt.savefig(base_path + iden + 'color.png')
    # plt.clf()
    np.save(base_path + iden + "_count", count)
예제 #2
0
파일: surat_test.py 프로젝트: psclib/pscgen
    nnu_runtimes[nnu.name] = []
    ABs[nnu.name] = []

    for alpha, beta in zip(alphas, betas):
        runtime_total = 0.0
        avg_abs = []
        svm_xs_tr, svm_xs_t = [], []
        total_matches = 0
        total_samples = 0

        enc_func = partial(nnu_to_bow, alpha=alpha, beta=beta, nnu=nnu, N=N)

        for i, x in enumerate(X_tr):
            print i
            total_samples += len(x)
            nnu_nbrs, runtime, avg_ab = nnu.index(x, alpha=alpha, beta=beta, detail=True)
            svm_xs_tr.append(bow(nnu_nbrs, N))
            runtime_total += runtime
            avg_abs.append(avg_ab)
            
        for x in X_t:
            total_samples += len(x)
            nnu_nbrs, runtime, avg_ab = nnu.index(x, alpha=alpha, beta=beta, detail=True)
            svm_xs_t.append(bow(nnu_nbrs, N))
            runtime_total += runtime
            avg_abs.append(avg_ab)

        acc = util.predict_chi2(svm_xs_tr, Y_tr, svm_xs_t, Y_t)
        nnu_dists[nnu.name].append(acc)
        # nnu_runtimes[nnu.name].append(runtime_total)
        # ABs[nnu.name].append(np.mean(avg_abs))