Beispiel #1
0
def test_neighborhood_subgraph_pairwise_distance():
    """Eigenvalue test for the neighborhood subgraph pairwise distance kernel."""
    nspd_kernel = NeighborhoodSubgraphPairwiseDistance(verbose=verbose,
                                                       normalize=normalize)
    if verbose:
        print_kernel("NSPD", nspd_kernel, dataset_tr, dataset_te)
    else:
        positive_eig(nspd_kernel, dataset)
Beispiel #2
0
def test_neighborhood_subgraph_pairwise_distance():
    """Picklability test for the Neighborhood Subgraph Pairwise Distance kernel [+ generic-wrapper]."""
    train, _ = generate_dataset(n_graphs=100,
                                r_vertices=(5, 10),
                                r_connectivity=(0.4, 0.8),
                                r_weight_edges=(1, 1),
                                n_graphs_test=40,
                                random_state=rs,
                                features=('nl', 5, 'el', 4))

    nspd_kernel = NeighborhoodSubgraphPairwiseDistance(verbose=verbose,
                                                       normalize=normalize)
    gk = GraphKernel(
        kernel={"name": "neighborhood_subgraph_pairwise_distance"},
        verbose=verbose,
        normalize=normalize)
    nspd_kernel.fit(train)
    assert is_picklable(nspd_kernel)

    gk.fit(train)
    assert is_picklable(gk)
Beispiel #3
0
def test_neighborhood_subgraph_pairwise_distance():
    """Random input test for the Neighborhood Subgraph Pairwise Distance kernel [+ generic-wrapper]."""
    train, test = generate_dataset(n_graphs=100,
                                   r_vertices=(5, 10),
                                   r_connectivity=(0.4, 0.8),
                                   r_weight_edges=(1, 1),
                                   n_graphs_test=40,
                                   random_state=rs,
                                   features=('nl', 5, 'el', 4))

    nspd_kernel = NeighborhoodSubgraphPairwiseDistance(verbose=verbose,
                                                       normalize=normalize)
    gk = GraphKernel(kernel="NSPD", verbose=verbose, normalize=normalize)

    try:
        nspd_kernel.fit_transform(train)
        nspd_kernel.transform(test)
        gk.fit_transform(train)
        gk.transform(test)
        assert True
    except Exception as exception:
        assert False, exception
 lambda: HadamardCode(
     n_iter=1, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-HC-2":
 lambda: HadamardCode(
     n_iter=2, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-HC-3":
 lambda: HadamardCode(
     n_iter=3, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-HC-4":
 lambda: HadamardCode(
     n_iter=4, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-HC-5":
 lambda: HadamardCode(
     n_iter=5, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-NSPD":
 lambda: NeighborhoodSubgraphPairwiseDistance(normalize=
                                              NORMALIZING_GRAPH_KERNELS),
 "GK-WL-OA-1":
 lambda: WeisfeilerLehmanOptimalAssignment(
     n_iter=1, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-WL-OA-2":
 lambda: WeisfeilerLehmanOptimalAssignment(
     n_iter=2, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-WL-OA-3":
 lambda: WeisfeilerLehmanOptimalAssignment(
     n_iter=3, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-WL-OA-4":
 lambda: WeisfeilerLehmanOptimalAssignment(
     n_iter=4, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
 "GK-WL-OA-5":
 lambda: WeisfeilerLehmanOptimalAssignment(
     n_iter=5, n_jobs=N_JOBS, normalize=NORMALIZING_GRAPH_KERNELS),
Beispiel #5
0
for i in range(n_samples):
    node_labels = dict()
    for j in range(height):
        for k in range(width):
            node_labels[j * height + k] = int(images[i, j, k] / 4)

    graphs.append(
        Graph(edges, node_labels=node_labels, edge_labels=edge_labels))

print("Splitting dataset into train/test (1000/100 instances)\n")
graphs_train, graphs_test = graphs[:1000], graphs[1000:1100]
y_train, y_test = y[:1000], y[1000:1100]

# Initialize neighborhood subgraph pairwise distance kernel
gk = NeighborhoodSubgraphPairwiseDistance(r=3, d=2)

print("Computing kernel matrics\n")
t0 = time.time()
K_train = gk.fit_transform(graphs_train)
K_test = gk.transform(graphs_test)
print("done in %0.3fs\n" % (time.time() - t0))

print("Classifying digits\n")
# Initialize SVM
clf = SVC(kernel='precomputed')

# Fit on the train Kernel
clf.fit(K_train, y_train)

# Predict and test.