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)
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))