{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "scrolled": true, "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "--- This is a regression problem ---\n", "\n", "1. Loading dataset from file...\n", "\n", "2. Calculating gram matrices. This could take a while...\n", "\n", " --- treelet kernel matrix of size 183 built in 0.4760627746582031 seconds ---\n", "\n", "gram matrix with parameters {} is: \n", "[[1.00000000e+00 5.32055843e-01 2.50000000e-01 ... 1.49248622e-15\n", " 1.35000458e-15 1.58302069e-15]\n", " [5.32055843e-01 1.00000000e+00 2.04124145e-01 ... 1.21860990e-15\n", " 1.10227413e-15 1.29253098e-15]\n", " [2.50000000e-01 2.04124145e-01 1.00000000e+00 ... 3.53553391e-01\n", " 3.19801075e-01 3.75000000e-01]\n", " ...\n", " [1.49248622e-15 1.21860990e-15 3.53553391e-01 ... 1.00000000e+00\n", " 6.56031966e-01 4.82612551e-01]\n", " [1.35000458e-15 1.10227413e-15 3.19801075e-01 ... 6.56031966e-01\n", " 1.00000000e+00 5.18025037e-01]\n", " [1.58302069e-15 1.29253098e-15 3.75000000e-01 ... 4.82612551e-01\n", " 5.18025037e-01 1.00000000e+00]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "3. Fitting and predicting using nested cross validation. This could really take a while...\n", "calculate performance: 0%| | 1/1230 [00:00<02:46, 7.39it/s]" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/ljia/.local/lib/python3.5/site-packages/sklearn/linear_model/ridge.py:154: UserWarning: Singular matrix in solving dual problem. Using least-squares solution instead.\n", " warnings.warn(\"Singular matrix in solving dual problem. Using \"\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " \n", "4. Getting final performances...\n", "\n", "best_params_out: [{}]\n", "best_params_in: [{'alpha': 0.11220184543019636}]\n", "\n", "best_val_perf: 13.861477851137243\n", "best_val_std: 0.8028610844640164\n", "final_performance: 15.37956283368154\n", "final_confidence: 3.5631802486132806\n", "train_performance: 7.331843671597928\n", "train_std: 0.637398126098533\n", "\n", "time to calculate gram matrix with different hyperpapams: 0.48±nan\n", "time to calculate best gram matrix: 0.4760627746582031 s\n", "\n", "params train_perf valid_perf test_perf gram_matrix_time\n", "--------------------- ------------ ------------- ------------- ------------------\n", "{'alpha': '1.00e-02'} 22.70±22.02 81.42±74.74 101.90±112.19 0.48\n", "{'alpha': '1.12e-02'} 26.94±30.78 100.10±120.17 136.55±232.60 0.48\n", "{'alpha': '1.26e-02'} 20.37±16.77 76.50±75.91 93.52±125.63 0.48\n", "{'alpha': '1.41e-02'} 20.16±20.49 68.01±54.55 94.35±166.05 0.48\n", "{'alpha': '1.58e-02'} 15.43±14.61 50.40±46.46 61.88±74.52 0.48\n", "{'alpha': '1.78e-02'} 11.11±6.08 37.92±31.39 39.19±25.19 0.48\n", "{'alpha': '2.00e-02'} 9.89±4.47 30.13±13.90 34.92±25.38 0.48\n", "{'alpha': '2.24e-02'} 9.41±6.38 28.04±21.82 36.17±57.51 0.48\n", "{'alpha': '2.51e-02'} 8.84±6.65 25.46±22.11 33.22±57.93 0.48\n", "{'alpha': '2.82e-02'} 8.48±5.60 24.71±23.41 30.01±46.09 0.48\n", "{'alpha': '3.16e-02'} 7.70±3.36 20.83±12.65 22.88±15.56 0.48\n", "{'alpha': '3.55e-02'} 12.76±32.12 41.43±132.33 32.93±73.73 0.48\n", "{'alpha': '3.98e-02'} 7.15±2.36 17.87±8.64 19.09±7.92 0.48\n", "{'alpha': '4.47e-02'} 6.89±1.43 16.39±4.42 17.78±5.73 0.48\n", "{'alpha': '5.01e-02'} 6.80±1.12 15.59±2.96 16.99±4.76 0.48\n", "{'alpha': '5.62e-02'} 6.77±0.97 15.03±2.20 16.44±4.19 0.48\n", "{'alpha': '6.31e-02'} 6.79±0.87 14.62±1.73 16.03±3.85 0.48\n", "{'alpha': '7.08e-02'} 6.85±0.80 14.33±1.42 15.74±3.65 0.48\n", "{'alpha': '7.94e-02'} 6.93±0.75 14.11±1.19 15.55±3.54 0.48\n", "{'alpha': '8.91e-02'} 7.04±0.70 13.97±1.03 15.43±3.51 0.48\n", "{'alpha': '1.00e-01'} 7.17±0.67 13.89±0.90 15.37±3.52 0.48\n", "{'alpha': '1.12e-01'} 7.33±0.64 13.86±0.80 15.38±3.56 0.48\n", "{'alpha': '1.26e-01'} 7.52±0.61 13.88±0.73 15.44±3.63 0.48\n", "{'alpha': '1.41e-01'} 7.73±0.58 13.95±0.67 15.55±3.71 0.48\n", "{'alpha': '1.58e-01'} 7.96±0.56 14.06±0.62 15.71±3.81 0.48\n", "{'alpha': '1.78e-01'} 8.22±0.54 14.22±0.58 15.91±3.90 0.48\n", "{'alpha': '2.00e-01'} 8.51±0.52 14.41±0.55 16.15±4.01 0.48\n", "{'alpha': '2.24e-01'} 8.83±0.49 14.64±0.52 16.44±4.12 0.48\n", "{'alpha': '2.51e-01'} 9.18±0.47 14.91±0.49 16.77±4.23 0.48\n", "{'alpha': '2.82e-01'} 9.57±0.45 15.22±0.47 17.15±4.34 0.48\n", "{'alpha': '3.16e-01'} 9.99±0.43 15.56±0.45 17.56±4.45 0.48\n", "{'alpha': '3.55e-01'} 10.44±0.41 15.95±0.43 18.03±4.57 0.48\n", "{'alpha': '3.98e-01'} 10.94±0.39 16.38±0.42 18.53±4.69 0.48\n", "{'alpha': '4.47e-01'} 11.48±0.38 16.86±0.41 19.09±4.81 0.48\n", "{'alpha': '5.01e-01'} 12.07±0.36 17.38±0.40 19.69±4.93 0.48\n", "{'alpha': '5.62e-01'} 12.71±0.34 17.95±0.40 20.34±5.06 0.48\n", "{'alpha': '6.31e-01'} 13.40±0.33 18.57±0.40 21.04±5.18 0.48\n", "{'alpha': '7.08e-01'} 14.15±0.31 19.24±0.41 21.79±5.31 0.48\n", "{'alpha': '7.94e-01'} 14.96±0.30 19.96±0.41 22.60±5.44 0.48\n", "{'alpha': '8.91e-01'} 15.83±0.29 20.75±0.42 23.47±5.58 0.48\n", "{'alpha': '1.00e+00'} 16.76±0.28 21.59±0.43 24.39±5.71 0.48\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.5/dist-packages/numpy/core/_methods.py:135: RuntimeWarning: Degrees of freedom <= 0 for slice\n", " keepdims=keepdims)\n", "/usr/local/lib/python3.5/dist-packages/numpy/core/_methods.py:127: RuntimeWarning: invalid value encountered in double_scalars\n", " ret = ret.dtype.type(ret / rcount)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "calculate performance: 100%|██████████| 1230/1230 [02:10<00:00, 11.01it/s]" ] } ], "source": [ "%load_ext line_profiler\n", "%matplotlib inline\n", "import numpy as np\n", "import sys\n", "sys.path.insert(0, \"../\")\n", "from pygraph.utils.model_selection_precomputed import model_selection_for_precomputed_kernel\n", "from pygraph.kernels.treeletKernel import treeletkernel\n", "\n", "datafile = '../../../../datasets/acyclic/Acyclic/dataset_bps.ds'\n", "estimator = treeletkernel\n", "param_grid_precomputed = {}\n", "param_grid = {'alpha': np.logspace(-2, 0, num = 41, base = 10)}\n", "\n", "model_selection_for_precomputed_kernel(datafile, estimator, param_grid_precomputed, param_grid, \n", " 'regression', NUM_TRIALS=30)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "%load_ext line_profiler\n", "\n", "import sys\n", "sys.path.insert(0, \"../\")\n", "from pygraph.utils.utils import kernel_train_test\n", "from pygraph.kernels.treeletKernel import treeletkernel\n", "\n", "datafile = '../../../../datasets/acyclic/Acyclic/dataset_bps.ds'\n", "kernel_file_path = 'kernelmatrices_path_acyclic/'\n", "\n", "kernel_para = dict(node_label = 'atom', edge_label = 'bond_type', labeled = True)\n", "\n", "kernel_train_test(datafile, kernel_file_path, treeletkernel, kernel_para, normalize = False)\n", "\n", "# %lprun -f treeletkernel \\\n", "# kernel_train_test(datafile, kernel_file_path, treeletkernel, kernel_para, normalize = False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "# results\n", "\n", "# with y normalization\n", " RMSE_test std_test RMSE_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 8.3079 3.37838 2.90887 1.2679 0.500302\n", "\n", "# without y normalization\n", " RMSE_test std_test RMSE_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 10.0997 5.03584 2.68803 1.54162 0.484171\n", "\n", " \n", "\n", "# G0 -> WL subtree h = 0\n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 13.9223 2.88611 13.373 0.653301 0.186731\n", "\n", "# G0 U G1 U G6 U G8 U G13 -> WL subtree h = 1\n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 8.97706 2.90771 6.7343 1.17505 0.223171\n", " \n", "# all patterns \\ { G3 U G4 U G5 U G10 } -> WL subtree h = 2 \n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 7.31274 1.96289 3.73909 0.406267 0.294902\n", "\n", "# all patterns \\ { G4 U G5 } -> WL subtree h = 3\n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 8.39977 2.78309 3.8606 1.58686 0.348912\n", "\n", "# all patterns \\ { G5 } \n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 9.47647 4.22113 3.18029 1.5669 0.423638\n", " \n", " \n", " \n", "# G0, -> WL subtree h = 0\n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 13.9223 2.88611 13.373 0.653301 0.186731 \n", " \n", "# G0 U G1 U G2 U G6 U G8 U G13 -> WL subtree h = 1\n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 8.62431 2.54327 5.63422 0.255002 0.290797\n", " \n", "# all patterns \\ { G5 U G10 } -> WL subtree h = 2\n", " rmse_test std_test rmse_train std_train k_time\n", "----------- ---------- ------------ ----------- --------\n", " 10.1294 3.50275 3.69664 1.55116 0.418498" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "autoscroll": false, "ein.tags": "worksheet-0", "scrolled": true, "slideshow": { "slide_type": "-" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0: 'C', 1: 'C', 2: 'C', 3: 'C', 4: 'C', 5: 'O', 6: 'O'}\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "{0: 'C', 1: 'C', 2: 'C', 3: 'C', 4: 'C', 5: 'C', 6: 'O', 7: 'O'}\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", " pattern 0: [0, 1, 2, 3, 4, 5, 6, 7]\n", " treelet 0: ['C', 'C', 'C', 'C', 'C', 'C', 'O', 'O']\n", "\n", " pattern 1 : [[4, 0], [4, 1], [5, 4], [6, 2], [6, 5], [7, 3], [7, 5]]\n", " treelet 1 : ['1C1C', '1C1C', '1C1C', '1C1O', '1C1O', '1C1O', '1C1O']\n", "\n", " pattern 2 : [[1, 4, 0], [5, 4, 0], [5, 4, 1], [5, 6, 2], [5, 7, 3], [6, 5, 4], [7, 5, 4], [7, 5, 6]]\n", " treelet 2 : ['2C1C1C', '2C1C1C', '2C1C1C', '2C1O1C', '2C1O1C', '2C1C1O', '2C1C1O', '2O1C1O']\n", "\n", " pattern 3 : [[4, 5, 6, 2], [4, 5, 7, 3], [6, 5, 4, 0], [6, 5, 4, 1], [6, 5, 7, 3], [7, 5, 4, 0], [7, 5, 4, 1], [7, 5, 6, 2]]\n", " treelet 3 : ['3C1C1O1C', '3C1C1O1C', '3C1C1C1O', '3C1C1C1O', '3C1O1C1O', '3C1C1C1O', '3C1C1C1O', '3C1O1C1O']\n", "\n", " pattern 4 : [[2, 6, 5, 4, 0], [2, 6, 5, 4, 1], [3, 7, 5, 4, 0], [3, 7, 5, 4, 1], [3, 7, 5, 6, 2]]\n", " treelet 4 : ['4C1C1C1O1C', '4C1C1C1O1C', '4C1C1C1O1C', '4C1C1C1O1C', '4C1O1C1O1C']\n", "\n", " pattern 5 : []\n", " treelet 5 : []\n", "\n", " pattern 3 star: [[4, 0, 1, 5], [5, 4, 6, 7]]\n", " treelet 3 star: ['6CC1C1C1', '6CC1O1O1']\n", "\n", " pattern 4 star: []\n", " treelet 4 star: []\n", "\n", " pattern 5 star: []\n", " treelet 5 star: []\n", "\n", " pattern 7: [[4, 0, 1, 5, 6], [4, 0, 1, 5, 7], [5, 7, 6, 4, 0], [5, 7, 6, 4, 1], [5, 4, 7, 6, 2], [5, 4, 6, 7, 3]]\n", " treelet 7: ['7CC1C1C1O1', '7CC1C1C1O1', '7CO1O1C1C1', '7CO1O1C1C1', '7CC1O1O1C1', '7CC1O1O1C1']\n", "\n", " pattern 11: []\n", " treelet 11: []\n", "\n", " pattern 10: [[4, 0, 1, 5, 6, 2], [4, 0, 1, 5, 7, 3]]\n", " treelet 10: ['aCO1C1C1C1C1', 'aCO1C1C1C1C1']\n", "\n", " pattern 12: [[4, 0, 1, 5, 7, 6]]\n", " treelet 12: ['cCC1C1C1O1O1']\n", "\n", " pattern 9: [[5, 7, 6, 4, 2, 0], [5, 7, 6, 4, 2, 1], [5, 6, 7, 4, 3, 0], [5, 6, 7, 4, 3, 1], [5, 4, 7, 6, 3, 2]]\n", " treelet 9: ['9CO1C1O1C1C1', '9CO1C1O1C1C1', '9CO1C1O1C1C1', '9CO1C1O1C1C1', '9CC1O1O1C1C1']\n", "\n", " numbers of canonical keys: {'2O1C1O': 1, '7CC1C1C1O1': 2, '7CC1O1O1C1': 2, 'aCO1C1C1C1C1': 2, '2C1C1C': 3, '6CC1C1C1': 1, '9CO1C1O1C1C1': 4, '1C1C': 3, '3C1C1C1O': 4, '4C1C1C1O1C': 4, '7CO1O1C1C1': 2, '2C1C1O': 2, '1C1O': 4, '9CC1O1O1C1C1': 1, '3C1C1O1C': 2, '6CC1O1O1': 1, '2C1O1C': 2, '0O': 2, '4C1O1C1O1C': 1, 'cCC1C1C1O1O1': 1, '0C': 6, '3C1O1C1O': 2}\n", "\n", " pattern 0: [0, 1, 2, 3, 4, 5, 6]\n", " treelet 0: ['C', 'C', 'C', 'C', 'C', 'O', 'O']\n", "\n", " pattern 1 : [[2, 0], [3, 1], [5, 2], [5, 4], [6, 3], [6, 4]]\n", " treelet 1 : ['1C1C', '1C1C', '1C1O', '1C1O', '1C1O', '1C1O']\n", "\n", " pattern 2 : [[4, 5, 2], [4, 6, 3], [5, 2, 0], [6, 3, 1], [6, 4, 5]]\n", " treelet 2 : ['2C1O1C', '2C1O1C', '2C1C1O', '2C1C1O', '2O1C1O']\n", "\n", " pattern 3 : [[4, 5, 2, 0], [4, 6, 3, 1], [5, 4, 6, 3], [6, 4, 5, 2]]\n", " treelet 3 : ['3C1C1O1C', '3C1C1O1C', '3C1O1C1O', '3C1O1C1O']\n", "\n", " pattern 4 : [[3, 6, 4, 5, 2], [5, 4, 6, 3, 1], [6, 4, 5, 2, 0]]\n", " treelet 4 : ['4C1O1C1O1C', '4C1C1O1C1O', '4C1C1O1C1O']\n", "\n", " pattern 5 : [[2, 5, 4, 6, 3, 1], [3, 6, 4, 5, 2, 0]]\n", " treelet 5 : ['5C1C1O1C1O1C', '5C1C1O1C1O1C']\n", "\n", " pattern 3 star: []\n", " treelet 3 star: []\n", "\n", " pattern 4 star: []\n", " treelet 4 star: []\n", "\n", " pattern 5 star: []\n", " treelet 5 star: []\n", "\n", " pattern 7: []\n", " treelet 7: []\n", "\n", " pattern 11: []\n", " treelet 11: []\n", "\n", " pattern 10: []\n", " treelet 10: []\n", "\n", " pattern 12: []\n", " treelet 12: []\n", "\n", " pattern 9: []\n", " treelet 9: []\n", "\n", " numbers of canonical keys: {'3C1C1O1C': 2, '2O1C1O': 1, '1C1O': 4, '2C1O1C': 2, '0O': 2, '5C1C1O1C1O1C': 2, '1C1C': 2, '4C1O1C1O1C': 1, '0C': 5, '3C1O1C1O': 2, '4C1C1O1C1O': 2, '2C1C1O': 2}\n" ] } ], "source": [ "import sys\n", "import pathlib\n", "from collections import Counter\n", "from itertools import chain\n", "sys.path.insert(0, \"../\")\n", "\n", "import networkx as nx\n", "import numpy as np\n", "import time\n", "\n", "from sklearn.metrics.pairwise import rbf_kernel, paired_distances\n", "import matplotlib.pyplot as plt\n", "\n", "# main\n", "import sys\n", "from collections import Counter\n", "import networkx as nx\n", "sys.path.insert(0, \"../\")\n", "from pygraph.utils.graphfiles import loadDataset\n", "\n", "\n", "def main(): \n", " dataset, y = loadDataset(\"../../../../datasets/acyclic/Acyclic/dataset_bps.ds\")\n", " G1 = dataset[15]\n", " print(nx.get_node_attributes(G1, 'label'))\n", " nx.draw_networkx(G1)\n", " plt.show()\n", " G2 = dataset[57] # 180 double 4, 57, 3, double 3\n", " print(nx.get_node_attributes(G2, 'label'))\n", " nx.draw_networkx(G2)\n", " plt.show()\n", "\n", " treeletkernel(G1, G2, labeled = True)\n", " # Kmatrix = weisfeilerlehmankernel(G1, G2)\n", " \n", "def find_paths(G, source_node, length):\n", " if length == 0:\n", " return [[source_node]]\n", " path = [ [source_node] + path for neighbor in G[source_node] \\\n", " for path in find_paths(G, neighbor, length - 1) if source_node not in path ]\n", " return path\n", "\n", "def find_all_paths(G, length):\n", " all_paths = []\n", " for node in G:\n", " all_paths.extend(find_paths(G, node, length))\n", " all_paths_r = [ path[::-1] for path in all_paths ]\n", " \n", " # remove double direction\n", " for idx, path in enumerate(all_paths[:-1]):\n", " for path2 in all_paths_r[idx+1::]:\n", " if path == path2:\n", " all_paths[idx] = []\n", " break\n", " \n", " return list(filter(lambda a: a != [], all_paths))\n", "\n", "def get_canonkey(G, node_label = 'atom', edge_label = 'bond_type', labeled = True):\n", " \n", " patterns = {}\n", " canonkey = {} # canonical key\n", " \n", " ### structural analysis ###\n", " # linear patterns\n", " patterns['0'] = G.nodes()\n", " canonkey['0'] = nx.number_of_nodes(G)\n", " for i in range(1, 6):\n", " patterns[str(i)] = find_all_paths(G, i)\n", " canonkey[str(i)] = len(patterns[str(i)])\n", " \n", " # n-star patterns\n", " patterns['3star'] = [ [node] + [neighbor for neighbor in G[node]] for node in G.nodes() if G.degree(node) == 3 ]\n", " patterns['4star'] = [ [node] + [neighbor for neighbor in G[node]] for node in G.nodes() if G.degree(node) == 4 ]\n", " patterns['5star'] = [ [node] + [neighbor for neighbor in G[node]] for node in G.nodes() if G.degree(node) == 5 ] \n", " # n-star patterns\n", " canonkey['6'] = len(patterns['3star'])\n", " canonkey['8'] = len(patterns['4star'])\n", " canonkey['d'] = len(patterns['5star'])\n", " \n", " # pattern 7\n", " patterns['7'] = []\n", " for pattern in patterns['3star']:\n", " for i in range(1, len(pattern)):\n", " if G.degree(pattern[i]) >= 2:\n", " pattern_t = pattern[:]\n", " pattern_t[i], pattern_t[3] = pattern_t[3], pattern_t[i]\n", " for neighborx in G[pattern[i]]:\n", " if neighborx != pattern[0]:\n", " new_pattern = pattern_t + [ neighborx ]\n", "# new_patterns = [ pattern + [neighbor] for neighbor in G[pattern[i]] if neighbor != pattern[0] ]\n", " patterns['7'].append(new_pattern)\n", " canonkey['7'] = len(patterns['7'])\n", " \n", " # pattern 11\n", " patterns['11'] = []\n", " for pattern in patterns['4star']:\n", " for i in range(1, len(pattern)):\n", " if G.degree(pattern[i]) >= 2:\n", " pattern_t = pattern[:]\n", " pattern_t[i], pattern_t[4] = pattern_t[4], pattern_t[i]\n", " for neighborx in G[pattern[i]]:\n", " if neighborx != pattern[0]:\n", " new_pattern = pattern_t + [ neighborx ]\n", "# new_patterns = [ pattern + [neighborx] for neighborx in G[pattern[i]] if neighborx != pattern[0] ]\n", " patterns['11'].append(new_pattern)\n", " canonkey['b'] = len(patterns['11'])\n", " \n", " # pattern 12\n", " patterns['12'] = []\n", " rootlist = []\n", " for pattern in patterns['3star']:\n", "# print(pattern)\n", " if pattern[0] not in rootlist:\n", " rootlist.append(pattern[0])\n", " for i in range(1, len(pattern)):\n", " if G.degree(pattern[i]) >= 3:\n", " rootlist.append(pattern[i])\n", " pattern_t = pattern[:]\n", " pattern_t[i], pattern_t[3] = pattern_t[3], pattern_t[i]\n", " for neighborx1 in G[pattern[i]]:\n", " if neighborx1 != pattern[0]:\n", " for neighborx2 in G[pattern[i]]:\n", " if neighborx1 > neighborx2 and neighborx2 != pattern[0]:\n", " new_pattern = pattern_t + [neighborx1] + [neighborx2]\n", "# new_patterns = [ pattern + [neighborx1] + [neighborx2] for neighborx1 in G[pattern[i]] if neighborx1 != pattern[0] for neighborx2 in G[pattern[i]] if (neighborx1 > neighborx2 and neighborx2 != pattern[0]) ]\n", " patterns['12'].append(new_pattern)\n", " canonkey['c'] = int(len(patterns['12']) / 2)\n", " \n", " # pattern 9\n", " patterns['9'] = []\n", " for pattern in patterns['3star']:\n", "# print('pattern: ', pattern)\n", " for pairs in [ [neighbor1, neighbor2] for neighbor1 in G[pattern[0]] if G.degree(neighbor1) >= 2 \\\n", " for neighbor2 in G[pattern[0]] if G.degree(neighbor2) >= 2 if neighbor1 > neighbor2 ]:\n", "# print('pairs: ', pairs)\n", " pattern_t = pattern[:]\n", "# print('pattern_t: ', pattern_t)\n", " pattern_t[pattern_t.index(pairs[0])], pattern_t[2] = pattern_t[2], pattern_t[pattern_t.index(pairs[0])]\n", "# print('pattern_t: ', pattern_t)\n", " pattern_t[pattern_t.index(pairs[1])], pattern_t[3] = pattern_t[3], pattern_t[pattern_t.index(pairs[1])]\n", "# print('pattern_t: ', pattern_t)\n", " for neighborx1 in G[pairs[0]]:\n", " if neighborx1 != pattern[0]:\n", " for neighborx2 in G[pairs[1]]:\n", " if neighborx2 != pattern[0]:\n", " new_pattern = pattern_t + [neighborx1] + [neighborx2]\n", "# new_patterns = [ pattern + [neighborx1] + [neighborx2] for neighborx1 in G[pairs[0]] if neighborx1 != pattern[0] for neighborx2 in G[pairs[1]] if neighborx2 != pattern[0] ]\n", " patterns['9'].append(new_pattern)\n", " canonkey['9'] = len(patterns['9'])\n", " \n", " # pattern 10\n", " patterns['10'] = []\n", " for pattern in patterns['3star']: \n", " for i in range(1, len(pattern)):\n", " if G.degree(pattern[i]) >= 2:\n", " for neighborx in G[pattern[i]]:\n", " if neighborx != pattern[0] and G.degree(neighborx) >= 2:\n", " pattern_t = pattern[:]\n", " pattern_t[i], pattern_t[3] = pattern_t[3], pattern_t[i]\n", " new_patterns = [ pattern_t + [neighborx] + [neighborxx] for neighborxx in G[neighborx] if neighborxx != pattern[i] ]\n", " patterns['10'].extend(new_patterns)\n", " canonkey['a'] = len(patterns['10'])\n", " \n", " ### labeling information ###\n", " if labeled == True:\n", " canonkey_l = {}\n", " \n", " # linear patterns\n", " canonkey_t = Counter(list(nx.get_node_attributes(G, node_label).values()))\n", " for key in canonkey_t:\n", " canonkey_l['0' + key] = canonkey_t[key]\n", " print('\\n pattern 0: ', patterns['0'])\n", " print(' treelet 0: ', list(nx.get_node_attributes(G, node_label).values()))\n", " \n", " for i in range(1, 6):\n", " treelet = []\n", " for pattern in patterns[str(i)]:\n", " canonlist = list(chain.from_iterable((G.node[node][node_label], \\\n", " G[node][pattern[idx+1]][edge_label]) for idx, node in enumerate(pattern[:-1])))\n", " canonlist.append(G.node[pattern[-1]][node_label])\n", " canonkey_t = ''.join(canonlist)\n", " canonkey_t = canonkey_t if canonkey_t < canonkey_t[::-1] else canonkey_t[::-1]\n", " treelet.append(str(i) + canonkey_t)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern', i, ': ', patterns[str(i)])\n", " print(' treelet', i, ': ', treelet)\n", " \n", "# print(canonkey_l)\n", " \n", " # n-star patterns\n", " for i in range(3, 6):\n", " treelet = []\n", " for pattern in patterns[str(i) + 'star']:\n", " canonlist = [ G.node[leaf][node_label] + G[leaf][pattern[0]][edge_label] for leaf in pattern[1:] ]\n", " canonlist.sort()\n", " canonkey_t = ('d' if i == 5 else str(i * 2)) + G.node[pattern[0]][node_label] + ''.join(canonlist)\n", " treelet.append(canonkey_t)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern', i, 'star: ', patterns[str(i) + 'star'])\n", " print(' treelet', i, 'star: ', treelet)\n", " \n", " # pattern 7\n", " treelet = []\n", " for pattern in patterns['7']:\n", " canonlist = [ G.node[leaf][node_label] + G[leaf][pattern[0]][edge_label] for leaf in pattern[1:3] ]\n", " canonlist.sort()\n", " canonkey_t = '7' + G.node[pattern[0]][node_label] + ''.join(canonlist) \\\n", " + G.node[pattern[3]][node_label] + G[pattern[3]][pattern[0]][edge_label] \\\n", " + G.node[pattern[4]][node_label] + G[pattern[4]][pattern[3]][edge_label]\n", " treelet.append(canonkey_t)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern 7: ', patterns['7'])\n", " print(' treelet 7: ', treelet)\n", " \n", " # pattern 11\n", " treelet = []\n", " for pattern in patterns['11']:\n", " canonlist = [ G.node[leaf][node_label] + G[leaf][pattern[0]][edge_label] for leaf in pattern[1:4] ]\n", " canonlist.sort()\n", " canonkey_t = 'b' + G.node[pattern[0]][node_label] + ''.join(canonlist) \\\n", " + G.node[pattern[4]][node_label] + G[pattern[4]][pattern[0]][edge_label] \\\n", " + G.node[pattern[5]][node_label] + G[pattern[5]][pattern[4]][edge_label]\n", " treelet.append(canonkey_t)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern 11: ', patterns['11'])\n", " print(' treelet 11: ', treelet)\n", "\n", " # pattern 10\n", " treelet = []\n", " for pattern in patterns['10']:\n", " canonkey4 = G.node[pattern[5]][node_label] + G[pattern[5]][pattern[4]][edge_label]\n", " canonlist = [ G.node[leaf][node_label] + G[leaf][pattern[0]][edge_label] for leaf in pattern[1:3] ]\n", " canonlist.sort()\n", " canonkey0 = ''.join(canonlist)\n", " canonkey_t = 'a' + G.node[pattern[3]][node_label] \\\n", " + G.node[pattern[4]][node_label] + G[pattern[4]][pattern[3]][edge_label] \\\n", " + G.node[pattern[0]][node_label] + G[pattern[0]][pattern[3]][edge_label] \\\n", " + canonkey4 + canonkey0\n", "# canonkey_t = 'a' + G.node[pattern[0]][node_label] + ''.join(canonlist) \\\n", "# + G.node[pattern[3]][node_label] + G[pattern[3]][pattern[0]][edge_label] \\\n", "# + G.node[pattern[4]][node_label] + G[pattern[4]][pattern[3]][edge_label]\n", " treelet.append(canonkey_t)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern 10: ', patterns['10'])\n", " print(' treelet 10: ', treelet)\n", " \n", " # pattern 12\n", " treelet = []\n", " for pattern in patterns['12']:\n", " canonlist0 = [ G.node[leaf][node_label] + G[leaf][pattern[0]][edge_label] for leaf in pattern[1:3] ]\n", " canonlist0.sort()\n", " canonlist3 = [ G.node[leaf][node_label] + G[leaf][pattern[3]][edge_label] for leaf in pattern[4:6] ]\n", " canonlist3.sort()\n", " canonkey_t1 = 'c' + G.node[pattern[0]][node_label] \\\n", " + ''.join(canonlist0) \\\n", " + G.node[pattern[3]][node_label] + G[pattern[3]][pattern[0]][edge_label] \\\n", " + ''.join(canonlist3)\n", " \n", " canonkey_t2 = 'c' + G.node[pattern[3]][node_label] \\\n", " + ''.join(canonlist3) \\\n", " + G.node[pattern[0]][node_label] + G[pattern[0]][pattern[3]][edge_label] \\\n", " + ''.join(canonlist0)\n", " \n", " treelet.append(canonkey_t1 if canonkey_t1 < canonkey_t2 else canonkey_t2)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern 12: ', patterns['12'])\n", " print(' treelet 12: ', treelet)\n", " \n", " # pattern 9\n", " treelet = []\n", " for pattern in patterns['9']:\n", " canonkey2 = G.node[pattern[4]][node_label] + G[pattern[4]][pattern[2]][edge_label]\n", " canonkey3 = G.node[pattern[5]][node_label] + G[pattern[5]][pattern[3]][edge_label]\n", " prekey2 = G.node[pattern[2]][node_label] + G[pattern[2]][pattern[0]][edge_label]\n", " prekey3 = G.node[pattern[3]][node_label] + G[pattern[3]][pattern[0]][edge_label]\n", " if prekey2 + canonkey2 < prekey3 + canonkey3:\n", " canonkey_t = G.node[pattern[1]][node_label] + G[pattern[1]][pattern[0]][edge_label] \\\n", " + prekey2 + prekey3 + canonkey2 + canonkey3\n", " else:\n", " canonkey_t = G.node[pattern[1]][node_label] + G[pattern[1]][pattern[0]][edge_label] \\\n", " + prekey3 + prekey2 + canonkey3 + canonkey2\n", " treelet.append('9' + G.node[pattern[0]][node_label] + canonkey_t)\n", " canonkey_l.update(Counter(treelet))\n", " print('\\n pattern 9: ', patterns['9'])\n", " print(' treelet 9: ', treelet)\n", " \n", "\n", " \n", " \n", " print('\\n numbers of canonical keys: ', canonkey_l)\n", " \n", " \n", " return canonkey_l\n", " \n", " return canonkey\n", " \n", "\n", "def treeletkernel(*args, node_label = 'atom', edge_label = 'bond_type', labeled = True):\n", " if len(args) == 1: # for a list of graphs\n", " Gn = args[0]\n", " Kmatrix = np.zeros((len(Gn), len(Gn)))\n", "\n", " start_time = time.time()\n", " \n", " for i in range(0, len(Gn)):\n", " print(i)\n", " for j in range(i, len(Gn)):\n", " Kmatrix[i][j] = treeletkernel(Gn[i], Gn[j], labeled = labeled, node_label = node_label, edge_label = edge_label)\n", " Kmatrix[j][i] = Kmatrix[i][j]\n", "\n", " run_time = time.time() - start_time\n", " print(\"\\n --- treelet kernel matrix of size %d built in %s seconds ---\" % (len(Gn), run_time))\n", " \n", " return Kmatrix, run_time\n", " \n", " else: # for only 2 graphs\n", " \n", " G1 = args[0]\n", " G = args[1]\n", " kernel = 0\n", " \n", "# start_time = time.time()\n", " \n", " \n", " canonkey2 = get_canonkey(G, node_label = node_label, edge_label = edge_label, labeled = labeled)\n", " canonkey1 = get_canonkey(G1, node_label = node_label, edge_label = edge_label, labeled = labeled)\n", " \n", " keys = set(canonkey1.keys()) & set(canonkey2.keys()) # find same canonical keys in both graphs\n", " vector1 = np.matrix([ (canonkey1[key] if (key in canonkey1.keys()) else 0) for key in keys ])\n", "# print(vector1)\n", " vector2 = np.matrix([ (canonkey2[key] if (key in canonkey2.keys()) else 0) for key in keys ]) \n", " kernel = np.sum(np.exp(- np.square(vector1 - vector2) / 2))\n", "# print(vector2)\n", " \n", " # labeling information\n", " \n", " # equal keys and graph isomorphism\n", " \n", "\n", "# run_time = time.time() - start_time\n", "# print(\"\\n --- treelet kernel built in %s seconds ---\" % (run_time))\n", " \n", "# print(kernel)\n", " return kernel#, run_time\n", " \n", "if __name__ == '__main__':\n", " main()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" }, "name": "run_treeletkernel_acyclic.ipynb" }, "nbformat": 4, "nbformat_minor": 2 }