5
5
6
6
@author: ljia
7
7
"""
8
- Graph_Kernel_List = [ 'PathUpToH' , 'WLSubtree' , 'SylvesterEquation' , 'Marginalized' , 'ShortestPath' , 'Treelet' , 'ConjugateGradient' , 'FixedPoint' , 'SpectralDecomposition' , 'CommonWalk' ]
9
- # Graph_Kernel_List = ['CommonWalk', 'Marginalized', 'SylvesterEquation', 'ConjugateGradient', 'FixedPoint', 'SpectralDecomposition', 'ShortestPath', 'StructuralSP', 'PathUpToH', 'Treelet', 'WLSubtree']
8
+ from utils import Graph_Kernel_List , compute_graph_kernel
9
+
10
10
11
11
def generate_graphs ():
12
12
from gklearn .utils .graph_synthesizer import GraphSynthesizer
@@ -15,90 +15,6 @@ def generate_graphs():
15
15
return graphs
16
16
17
17
18
- def compute_graph_kernel (graphs , kernel_name ):
19
- import multiprocessing
20
-
21
- if kernel_name == 'CommonWalk' :
22
- from gklearn .kernels .commonWalkKernel import commonwalkkernel
23
- estimator = commonwalkkernel
24
- params = {'compute_method' : 'geo' , 'weight' : 0.1 }
25
-
26
- elif kernel_name == 'Marginalized' :
27
- from gklearn .kernels .marginalizedKernel import marginalizedkernel
28
- estimator = marginalizedkernel
29
- params = {'p_quit' : 0.5 , 'n_iteration' : 5 , 'remove_totters' : False }
30
-
31
- elif kernel_name == 'SylvesterEquation' :
32
- from gklearn .kernels .randomWalkKernel import randomwalkkernel
33
- estimator = randomwalkkernel
34
- params = {'compute_method' : 'sylvester' , 'weight' : 0.1 }
35
-
36
- elif kernel_name == 'ConjugateGradient' :
37
- from gklearn .kernels .randomWalkKernel import randomwalkkernel
38
- estimator = randomwalkkernel
39
- from gklearn .utils .kernels import deltakernel , gaussiankernel , kernelproduct
40
- import functools
41
- mixkernel = functools .partial (kernelproduct , deltakernel , gaussiankernel )
42
- sub_kernel = {'symb' : deltakernel , 'nsymb' : gaussiankernel , 'mix' : mixkernel }
43
- params = {'compute_method' : 'conjugate' , 'weight' : 0.1 , 'node_kernels' : sub_kernel , 'edge_kernels' : sub_kernel }
44
-
45
- elif kernel_name == 'FixedPoint' :
46
- from gklearn .kernels .randomWalkKernel import randomwalkkernel
47
- estimator = randomwalkkernel
48
- from gklearn .utils .kernels import deltakernel , gaussiankernel , kernelproduct
49
- import functools
50
- mixkernel = functools .partial (kernelproduct , deltakernel , gaussiankernel )
51
- sub_kernel = {'symb' : deltakernel , 'nsymb' : gaussiankernel , 'mix' : mixkernel }
52
- params = {'compute_method' : 'fp' , 'weight' : 1e-3 , 'node_kernels' : sub_kernel , 'edge_kernels' : sub_kernel }
53
-
54
- elif kernel_name == 'SpectralDecomposition' :
55
- from gklearn .kernels .randomWalkKernel import randomwalkkernel
56
- estimator = randomwalkkernel
57
- params = {'compute_method' : 'spectral' , 'sub_kernel' : 'geo' , 'weight' : 0.1 }
58
-
59
- elif kernel_name == 'ShortestPath' :
60
- from gklearn .kernels .spKernel import spkernel
61
- estimator = spkernel
62
- from gklearn .utils .kernels import deltakernel , gaussiankernel , kernelproduct
63
- import functools
64
- mixkernel = functools .partial (kernelproduct , deltakernel , gaussiankernel )
65
- sub_kernel = {'symb' : deltakernel , 'nsymb' : gaussiankernel , 'mix' : mixkernel }
66
- params = {'node_kernels' : sub_kernel }
67
-
68
- elif kernel_name == 'StructuralSP' :
69
- from gklearn .kernels .structuralspKernel import structuralspkernel
70
- estimator = structuralspkernel
71
- from gklearn .utils .kernels import deltakernel , gaussiankernel , kernelproduct
72
- import functools
73
- mixkernel = functools .partial (kernelproduct , deltakernel , gaussiankernel )
74
- sub_kernel = {'symb' : deltakernel , 'nsymb' : gaussiankernel , 'mix' : mixkernel }
75
- params = {'node_kernels' : sub_kernel , 'edge_kernels' : sub_kernel }
76
-
77
- elif kernel_name == 'PathUpToH' :
78
- from gklearn .kernels .untilHPathKernel import untilhpathkernel
79
- estimator = untilhpathkernel
80
- params = {'depth' : 5 , 'k_func' : 'MinMax' , 'compute_method' : 'trie' }
81
-
82
- elif kernel_name == 'Treelet' :
83
- from gklearn .kernels .treeletKernel import treeletkernel
84
- estimator = treeletkernel
85
- from gklearn .utils .kernels import polynomialkernel
86
- import functools
87
- sub_kernel = functools .partial (polynomialkernel , d = 4 , c = 1e+8 )
88
- params = {'sub_kernel' : sub_kernel }
89
-
90
- elif kernel_name == 'WLSubtree' :
91
- from gklearn .kernels .weisfeilerLehmanKernel import weisfeilerlehmankernel
92
- estimator = weisfeilerlehmankernel
93
- params = {'base_kernel' : 'subtree' , 'height' : 5 }
94
-
95
- params ['n_jobs' ] = multiprocessing .cpu_count ()
96
- params ['verbose' ] = True
97
- results = estimator (graphs , ** params )
98
-
99
- return results [0 ], results [1 ]
100
-
101
-
102
18
def xp_synthesied_graphs_dataset_size ():
103
19
104
20
# Generate graphs.
0 commit comments