def candidate_test(names, num_nodes, alphas, betas, dict_partition, dim_partition, X, D, D_mean): plt_accs, plt_ops = {}, {} for name, node in zip(names, num_nodes): plt_ops[name] = [] plt_accs[name] = [] for alpha, beta in zip(alphas, betas): nnuf = NNUForest(alpha=alpha, beta=beta, num_nodes=node, num_dims=dim, dim_partition=dim_partition, dict_partition=dict_partition) nnuf.build_index(D) pct, avg_candidates = pct_found(nnuf, X, D, D_mean) plt_accs[name].append(pct) plt_ops[name].append(num_kops(avg_candidates, len(X[0][0]))) return plt_ops, plt_accs
def accuracy_test(names, num_l1_nodes, alphas, betas, dict_partition, dim_partition, X, Y, D, D_mean, sss, model='NNUF', num_l2_nodes=0): plt_accs, plt_ops = {}, {} plt_ops = [] plt_accs = [] for alpha, beta in zip(alphas, betas): print alpha, beta if model == 'NNUF': nnuf = NNUForest(alpha=alpha, beta=beta, num_nodes=num_l1_nodes, num_dims=dim, dim_partition=dim_partition, dict_partition=dict_partition) elif model == 'DictDim': nnuf = NNUDictDim(num_l1_nodes, num_l2_nodes, alpha, beta) nnuf.build_index(D) ret_tup = Parallel(n_jobs=8, verbose=0)(delayed(classify)(nnuf, X_window, Y, train_index, test_index) for train_index, test_index in sss) accs, num_candidates = zip(*ret_tup) avg_candidates = np.sum(num_candidates) / float(num_X*num_folds) plt_accs.append(np.mean(accs)) plt_ops.append(num_kops(avg_candidates, len(X[0][0]))) return plt_ops, plt_accs