Exemplo n.º 1
0
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
Exemplo n.º 2
0
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