{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "--- This is a classification problem ---\n", "\n", "1. Loading dataset from file...\n", "\n", "2. Calculating gram matrices. This could take a while...\n", "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 365.70it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 29032.23it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.19042706489562988 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 0.0} is: \n", "[[0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 284.42it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 20249.39it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.24454069137573242 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 25.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 0.]\n", " [ 8. 8. 8. ... 8. 8. 0.]\n", " [ 8. 8. 8. ... 8. 8. 0.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 0.]\n", " [ 8. 8. 8. ... 9. 10. 0.]\n", " [ 0. 0. 0. ... 0. 0. 0.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 221.19it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 18024.06it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.31366610527038574 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 50.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 193.29it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 16071.94it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.358229398727417 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 75.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 211.71it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 12809.34it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.32873964309692383 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 100.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 209.41it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 12656.99it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3321540355682373 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 125.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 205.72it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 14964.72it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.33719635009765625 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 150.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 216.96it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 16669.36it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.31943273544311523 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 175.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 207.52it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 15853.96it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.33396363258361816 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 200.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 220.31it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 15243.05it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3158130645751953 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 225.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 203.01it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 15196.75it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3424692153930664 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 250.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 219.06it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 14092.93it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3170757293701172 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 275.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 196.86it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 9586.66it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.355010986328125 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 300.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 205.74it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 13401.59it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.33774304389953613 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 325.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 214.36it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 16588.88it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3233025074005127 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 350.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 212.04it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 11443.29it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3286900520324707 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 375.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 204.41it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 15729.80it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3390078544616699 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 400.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 196.38it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 10160.76it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3551766872406006 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 425.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 188.35it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 15243.86it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.36798596382141113 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 450.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 210.29it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 15946.14it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3297882080078125 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 475.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 209.44it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 14995.41it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.3310410976409912 seconds ---\n", "\n", "gram matrix with parameters {'cycle_bound': 500.0} is: \n", "[[ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " [ 8. 8. 8. ... 8. 8. 8.]\n", " ...\n", " [ 8. 8. 8. ... 10. 9. 9.]\n", " [ 8. 8. 8. ... 9. 10. 10.]\n", " [ 8. 8. 8. ... 9. 10. 10.]]\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", " \n", "4. Getting final performances...\n", "\n", "best_params_out: [{'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}, {'cycle_bound': 125.0}]\n", "best_params_in: [{'C': 0.1778279410038923}, {'C': 0.31622776601683794}, {'C': 0.5623413251903491}, {'C': 1.0}, {'C': 1.7782794100389228}, {'C': 3.1622776601683795}, {'C': 5.623413251903491}, {'C': 10.0}, {'C': 17.78279410038923}, {'C': 31.622776601683793}, {'C': 56.23413251903491}, {'C': 100.0}, {'C': 177.82794100389228}, {'C': 316.22776601683796}, {'C': 562.341325190349}, {'C': 1000.0}, {'C': 1778.2794100389228}, {'C': 3162.2776601683795}, {'C': 5623.413251903491}, {'C': 10000.0}, {'C': 17782.794100389227}, {'C': 31622.776601683792}, {'C': 56234.13251903491}, {'C': 100000.0}]\n", "best_val_perf: 0.6234126984126985\n", "best_val_std: 0.019901659602732907\n", "final_performance: 0.5666666666666665\n", "final_confidence: 0.16559590358481774\n", "train_performance: 0.623496071829405\n", "train_std: 0.019012737655866176\n", "time to calculate gram matrix: 0.3321540355682373 s\n", "\n", "params train_perf valid_perf test_perf gram_matrix_time\n", "--------------------------------------- ------------ ------------ ----------- ------------------\n", "{'C': '1.00e-05', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e-05', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '1.00e-05', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '1.00e-05', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.00e-05', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.00e-05', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.00e-05', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.00e-05', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.00e-05', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.00e-05', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-05', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.00e-05', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.00e-05', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.00e-05', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.00e-05', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-05', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.00e-05', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.00e-05', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.00e-05', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.00e-05', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.00e-05', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.78e-05', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e-05', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '1.78e-05', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '1.78e-05', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.78e-05', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.78e-05', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.78e-05', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.78e-05', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.78e-05', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.78e-05', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-05', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.78e-05', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.78e-05', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.78e-05', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.78e-05', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-05', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.78e-05', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.78e-05', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.78e-05', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.78e-05', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.78e-05', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '3.16e-05', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e-05', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '3.16e-05', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '3.16e-05', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '3.16e-05', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '3.16e-05', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '3.16e-05', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '3.16e-05', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '3.16e-05', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '3.16e-05', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-05', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '3.16e-05', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '3.16e-05', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '3.16e-05', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '3.16e-05', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-05', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '3.16e-05', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '3.16e-05', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '3.16e-05', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '3.16e-05', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '3.16e-05', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '5.62e-05', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e-05', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '5.62e-05', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '5.62e-05', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '5.62e-05', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '5.62e-05', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '5.62e-05', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '5.62e-05', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '5.62e-05', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '5.62e-05', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '5.62e-05', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '5.62e-05', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '5.62e-05', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '5.62e-05', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '5.62e-05', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '5.62e-05', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '5.62e-05', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '5.62e-05', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '5.62e-05', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '5.62e-05', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '5.62e-05', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.00e-04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e-04', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '1.00e-04', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '1.00e-04', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.00e-04', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.00e-04', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.00e-04', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.00e-04', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.00e-04', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.00e-04', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-04', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.00e-04', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.00e-04', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.00e-04', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.00e-04', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-04', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.00e-04', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.00e-04', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.00e-04', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.00e-04', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.00e-04', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.78e-04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e-04', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '1.78e-04', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '1.78e-04', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.78e-04', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.78e-04', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.78e-04', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.78e-04', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.78e-04', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.78e-04', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-04', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.78e-04', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.78e-04', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.78e-04', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.78e-04', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-04', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.78e-04', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.78e-04', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.78e-04', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.78e-04', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.78e-04', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '3.16e-04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e-04', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '3.16e-04', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '3.16e-04', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '3.16e-04', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '3.16e-04', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '3.16e-04', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '3.16e-04', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '3.16e-04', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '3.16e-04', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-04', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '3.16e-04', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '3.16e-04', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '3.16e-04', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '3.16e-04', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-04', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '3.16e-04', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '3.16e-04', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '3.16e-04', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '3.16e-04', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '3.16e-04', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '5.62e-04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e-04', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '5.62e-04', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '5.62e-04', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '5.62e-04', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '5.62e-04', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '5.62e-04', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '5.62e-04', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '5.62e-04', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '5.62e-04', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '5.62e-04', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '5.62e-04', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '5.62e-04', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '5.62e-04', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '5.62e-04', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '5.62e-04', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '5.62e-04', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '5.62e-04', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '5.62e-04', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '5.62e-04', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '5.62e-04', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.00e-03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e-03', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '1.00e-03', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '1.00e-03', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.00e-03', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.00e-03', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.00e-03', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.00e-03', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.00e-03', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.00e-03', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-03', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.00e-03', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.00e-03', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.00e-03', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.00e-03', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-03', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.00e-03', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.00e-03', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.00e-03', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.00e-03', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.00e-03', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.78e-03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e-03', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '1.78e-03', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '1.78e-03', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.78e-03', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.78e-03', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.78e-03', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.78e-03', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.78e-03', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.78e-03', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-03', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.78e-03', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.78e-03', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.78e-03', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.78e-03', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-03', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.78e-03', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.78e-03', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.78e-03', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.78e-03', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.78e-03', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '3.16e-03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e-03', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '3.16e-03', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '3.16e-03', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '3.16e-03', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '3.16e-03', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '3.16e-03', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '3.16e-03', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '3.16e-03', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '3.16e-03', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-03', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '3.16e-03', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '3.16e-03', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '3.16e-03', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '3.16e-03', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-03', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '3.16e-03', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '3.16e-03', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '3.16e-03', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '3.16e-03', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '3.16e-03', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '5.62e-03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e-03', 'cycle_bound': 25.0} 0.56±0.02 0.55±0.05 0.54±0.14 0.24\n", "{'C': '5.62e-03', 'cycle_bound': 50.0} 0.56±0.02 0.55±0.05 0.53±0.15 0.31\n", "{'C': '5.62e-03', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '5.62e-03', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '5.62e-03', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '5.62e-03', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '5.62e-03', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '5.62e-03', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '5.62e-03', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '5.62e-03', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '5.62e-03', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '5.62e-03', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '5.62e-03', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '5.62e-03', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '5.62e-03', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '5.62e-03', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '5.62e-03', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '5.62e-03', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '5.62e-03', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '5.62e-03', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.00e-02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e-02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e-02', 'cycle_bound': 50.0} 0.57±0.02 0.56±0.02 0.55±0.17 0.31\n", "{'C': '1.00e-02', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.00e-02', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.00e-02', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.00e-02', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.00e-02', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.00e-02', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.00e-02', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-02', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.00e-02', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.00e-02', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.00e-02', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.00e-02', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.00e-02', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.00e-02', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.00e-02', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.00e-02', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.00e-02', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.00e-02', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '1.78e-02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e-02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e-02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e-02', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '1.78e-02', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '1.78e-02', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '1.78e-02', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '1.78e-02', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '1.78e-02', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '1.78e-02', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-02', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '1.78e-02', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '1.78e-02', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '1.78e-02', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '1.78e-02', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '1.78e-02', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '1.78e-02', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '1.78e-02', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '1.78e-02', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '1.78e-02', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '1.78e-02', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '3.16e-02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e-02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e-02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e-02', 'cycle_bound': 75.0} 0.56±0.02 0.55±0.03 0.53±0.17 0.36\n", "{'C': '3.16e-02', 'cycle_bound': 100.0} 0.55±0.02 0.54±0.05 0.59±0.13 0.33\n", "{'C': '3.16e-02', 'cycle_bound': 125.0} 0.56±0.02 0.55±0.04 0.52±0.14 0.33\n", "{'C': '3.16e-02', 'cycle_bound': 150.0} 0.55±0.02 0.52±0.06 0.62±0.13 0.34\n", "{'C': '3.16e-02', 'cycle_bound': 175.0} 0.57±0.02 0.56±0.04 0.47±0.19 0.32\n", "{'C': '3.16e-02', 'cycle_bound': 200.0} 0.56±0.02 0.55±0.03 0.57±0.13 0.33\n", "{'C': '3.16e-02', 'cycle_bound': 225.0} 0.56±0.02 0.54±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-02', 'cycle_bound': 250.0} 0.56±0.02 0.54±0.04 0.58±0.18 0.34\n", "{'C': '3.16e-02', 'cycle_bound': 275.0} 0.56±0.02 0.55±0.04 0.54±0.19 0.32\n", "{'C': '3.16e-02', 'cycle_bound': 300.0} 0.55±0.02 0.52±0.06 0.59±0.13 0.36\n", "{'C': '3.16e-02', 'cycle_bound': 325.0} 0.57±0.02 0.55±0.05 0.50±0.14 0.34\n", "{'C': '3.16e-02', 'cycle_bound': 350.0} 0.56±0.02 0.55±0.05 0.56±0.17 0.32\n", "{'C': '3.16e-02', 'cycle_bound': 375.0} 0.55±0.02 0.53±0.06 0.61±0.15 0.33\n", "{'C': '3.16e-02', 'cycle_bound': 400.0} 0.55±0.02 0.52±0.07 0.59±0.13 0.34\n", "{'C': '3.16e-02', 'cycle_bound': 425.0} 0.56±0.02 0.54±0.06 0.57±0.13 0.36\n", "{'C': '3.16e-02', 'cycle_bound': 450.0} 0.57±0.02 0.56±0.04 0.50±0.17 0.37\n", "{'C': '3.16e-02', 'cycle_bound': 475.0} 0.56±0.02 0.55±0.04 0.54±0.16 0.33\n", "{'C': '3.16e-02', 'cycle_bound': 500.0} 0.56±0.02 0.55±0.05 0.51±0.17 0.33\n", "{'C': '5.62e-02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e-02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e-02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e-02', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e-02', 'cycle_bound': 100.0} 0.62±0.02 0.61±0.04 0.58±0.17 0.33\n", "{'C': '5.62e-02', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.56±0.17 0.33\n", "{'C': '5.62e-02', 'cycle_bound': 150.0} 0.61±0.02 0.60±0.05 0.61±0.18 0.34\n", "{'C': '5.62e-02', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.03 0.59±0.19 0.32\n", "{'C': '5.62e-02', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e-02', 'cycle_bound': 225.0} 0.62±0.02 0.61±0.03 0.62±0.18 0.32\n", "{'C': '5.62e-02', 'cycle_bound': 250.0} 0.62±0.02 0.61±0.03 0.60±0.14 0.34\n", "{'C': '5.62e-02', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.03 0.64±0.17 0.32\n", "{'C': '5.62e-02', 'cycle_bound': 300.0} 0.61±0.02 0.59±0.03 0.65±0.17 0.36\n", "{'C': '5.62e-02', 'cycle_bound': 325.0} 0.61±0.02 0.60±0.03 0.65±0.17 0.34\n", "{'C': '5.62e-02', 'cycle_bound': 350.0} 0.61±0.01 0.61±0.02 0.62±0.14 0.32\n", "{'C': '5.62e-02', 'cycle_bound': 375.0} 0.61±0.02 0.60±0.04 0.62±0.15 0.33\n", "{'C': '5.62e-02', 'cycle_bound': 400.0} 0.62±0.03 0.60±0.05 0.56±0.19 0.34\n", "{'C': '5.62e-02', 'cycle_bound': 425.0} 0.61±0.02 0.61±0.04 0.63±0.20 0.36\n", "{'C': '5.62e-02', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.59±0.17 0.37\n", "{'C': '5.62e-02', 'cycle_bound': 475.0} 0.61±0.02 0.61±0.03 0.63±0.18 0.33\n", "{'C': '5.62e-02', 'cycle_bound': 500.0} 0.62±0.02 0.61±0.03 0.59±0.20 0.33\n", "{'C': '1.00e-01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e-01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e-01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e-01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e-01', 'cycle_bound': 100.0} 0.62±0.02 0.61±0.04 0.58±0.17 0.33\n", "{'C': '1.00e-01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.56±0.17 0.33\n", "{'C': '1.00e-01', 'cycle_bound': 150.0} 0.61±0.02 0.60±0.05 0.61±0.18 0.34\n", "{'C': '1.00e-01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.03 0.59±0.19 0.32\n", "{'C': '1.00e-01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e-01', 'cycle_bound': 225.0} 0.62±0.02 0.61±0.03 0.62±0.18 0.32\n", "{'C': '1.00e-01', 'cycle_bound': 250.0} 0.62±0.02 0.61±0.03 0.60±0.14 0.34\n", "{'C': '1.00e-01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.03 0.64±0.17 0.32\n", "{'C': '1.00e-01', 'cycle_bound': 300.0} 0.61±0.02 0.59±0.03 0.65±0.17 0.36\n", "{'C': '1.00e-01', 'cycle_bound': 325.0} 0.61±0.02 0.60±0.03 0.65±0.17 0.34\n", "{'C': '1.00e-01', 'cycle_bound': 350.0} 0.61±0.01 0.61±0.02 0.62±0.14 0.32\n", "{'C': '1.00e-01', 'cycle_bound': 375.0} 0.61±0.02 0.60±0.04 0.62±0.15 0.33\n", "{'C': '1.00e-01', 'cycle_bound': 400.0} 0.62±0.03 0.60±0.05 0.56±0.19 0.34\n", "{'C': '1.00e-01', 'cycle_bound': 425.0} 0.61±0.02 0.61±0.04 0.63±0.20 0.36\n", "{'C': '1.00e-01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.59±0.17 0.37\n", "{'C': '1.00e-01', 'cycle_bound': 475.0} 0.61±0.02 0.61±0.03 0.63±0.18 0.33\n", "{'C': '1.00e-01', 'cycle_bound': 500.0} 0.62±0.02 0.61±0.03 0.59±0.20 0.33\n", "{'C': '1.78e-01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e-01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e-01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e-01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.78e-01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.78e-01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.78e-01', 'cycle_bound': 150.0} 0.62±0.02 0.60±0.05 0.61±0.18 0.34\n", "{'C': '1.78e-01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.03 0.59±0.19 0.32\n", "{'C': '1.78e-01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.78e-01', 'cycle_bound': 225.0} 0.62±0.02 0.61±0.03 0.62±0.18 0.32\n", "{'C': '1.78e-01', 'cycle_bound': 250.0} 0.62±0.02 0.61±0.03 0.61±0.14 0.34\n", "{'C': '1.78e-01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.03 0.64±0.17 0.32\n", "{'C': '1.78e-01', 'cycle_bound': 300.0} 0.61±0.02 0.60±0.03 0.66±0.16 0.36\n", "{'C': '1.78e-01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.78e-01', 'cycle_bound': 350.0} 0.62±0.01 0.61±0.02 0.63±0.13 0.32\n", "{'C': '1.78e-01', 'cycle_bound': 375.0} 0.61±0.02 0.61±0.03 0.63±0.15 0.33\n", "{'C': '1.78e-01', 'cycle_bound': 400.0} 0.62±0.03 0.61±0.04 0.57±0.19 0.34\n", "{'C': '1.78e-01', 'cycle_bound': 425.0} 0.61±0.03 0.61±0.04 0.63±0.20 0.36\n", "{'C': '1.78e-01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.78e-01', 'cycle_bound': 475.0} 0.62±0.02 0.61±0.03 0.63±0.18 0.33\n", "{'C': '1.78e-01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.33\n", "{'C': '3.16e-01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e-01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e-01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e-01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '3.16e-01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '3.16e-01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '3.16e-01', 'cycle_bound': 150.0} 0.62±0.02 0.61±0.03 0.62±0.19 0.34\n", "{'C': '3.16e-01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '3.16e-01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '3.16e-01', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '3.16e-01', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '3.16e-01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '3.16e-01', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '3.16e-01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '3.16e-01', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '3.16e-01', 'cycle_bound': 375.0} 0.62±0.02 0.61±0.02 0.63±0.15 0.33\n", "{'C': '3.16e-01', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.03 0.59±0.19 0.34\n", "{'C': '3.16e-01', 'cycle_bound': 425.0} 0.62±0.02 0.61±0.03 0.64±0.20 0.36\n", "{'C': '3.16e-01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '3.16e-01', 'cycle_bound': 475.0} 0.62±0.02 0.61±0.03 0.63±0.18 0.33\n", "{'C': '3.16e-01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '5.62e-01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e-01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e-01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e-01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e-01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '5.62e-01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '5.62e-01', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '5.62e-01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '5.62e-01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e-01', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '5.62e-01', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '5.62e-01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '5.62e-01', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '5.62e-01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '5.62e-01', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '5.62e-01', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '5.62e-01', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '5.62e-01', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '5.62e-01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '5.62e-01', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '5.62e-01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.00e+00', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e+00', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e+00', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e+00', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e+00', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.00e+00', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.00e+00', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.00e+00', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.00e+00', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e+00', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.00e+00', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.00e+00', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.00e+00', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.00e+00', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.00e+00', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.00e+00', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.00e+00', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.00e+00', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.00e+00', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.00e+00', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.00e+00', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.78e+00', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e+00', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e+00', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e+00', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.78e+00', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.78e+00', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.78e+00', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.78e+00', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.78e+00', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.78e+00', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.78e+00', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.78e+00', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.78e+00', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.78e+00', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.78e+00', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.78e+00', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.78e+00', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.78e+00', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.78e+00', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.78e+00', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.78e+00', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '3.16e+00', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e+00', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e+00', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e+00', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '3.16e+00', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '3.16e+00', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '3.16e+00', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '3.16e+00', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '3.16e+00', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '3.16e+00', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '3.16e+00', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '3.16e+00', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '3.16e+00', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '3.16e+00', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '3.16e+00', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '3.16e+00', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '3.16e+00', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '3.16e+00', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '3.16e+00', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '3.16e+00', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '3.16e+00', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '5.62e+00', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e+00', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e+00', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e+00', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e+00', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '5.62e+00', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '5.62e+00', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '5.62e+00', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '5.62e+00', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e+00', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '5.62e+00', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '5.62e+00', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '5.62e+00', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '5.62e+00', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '5.62e+00', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '5.62e+00', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '5.62e+00', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '5.62e+00', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '5.62e+00', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '5.62e+00', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '5.62e+00', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.00e+01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e+01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e+01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e+01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e+01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.00e+01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.00e+01', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.00e+01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.00e+01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e+01', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.00e+01', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.00e+01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.00e+01', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.00e+01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.00e+01', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.00e+01', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.00e+01', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.00e+01', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.00e+01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.00e+01', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.00e+01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.78e+01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e+01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e+01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e+01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.78e+01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.78e+01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.78e+01', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.78e+01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.78e+01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.78e+01', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.78e+01', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.78e+01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.78e+01', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.78e+01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.78e+01', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.78e+01', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.78e+01', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.78e+01', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.78e+01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.78e+01', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.78e+01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '3.16e+01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e+01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e+01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e+01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '3.16e+01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '3.16e+01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '3.16e+01', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '3.16e+01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '3.16e+01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '3.16e+01', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '3.16e+01', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '3.16e+01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '3.16e+01', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '3.16e+01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '3.16e+01', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '3.16e+01', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '3.16e+01', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '3.16e+01', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '3.16e+01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '3.16e+01', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '3.16e+01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '5.62e+01', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e+01', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e+01', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e+01', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e+01', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '5.62e+01', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '5.62e+01', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '5.62e+01', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '5.62e+01', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e+01', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '5.62e+01', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '5.62e+01', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '5.62e+01', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '5.62e+01', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '5.62e+01', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '5.62e+01', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '5.62e+01', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '5.62e+01', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '5.62e+01', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '5.62e+01', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '5.62e+01', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.00e+02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e+02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e+02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e+02', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e+02', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.00e+02', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.00e+02', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.00e+02', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.00e+02', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e+02', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.00e+02', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.00e+02', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.00e+02', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.00e+02', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.00e+02', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.00e+02', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.00e+02', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.00e+02', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.00e+02', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.00e+02', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.00e+02', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.78e+02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e+02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e+02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e+02', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.78e+02', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.78e+02', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.78e+02', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.78e+02', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.78e+02', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.78e+02', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.78e+02', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.78e+02', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.78e+02', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.78e+02', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.78e+02', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.78e+02', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.78e+02', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.78e+02', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.78e+02', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.78e+02', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.78e+02', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '3.16e+02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e+02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e+02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e+02', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '3.16e+02', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '3.16e+02', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '3.16e+02', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '3.16e+02', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '3.16e+02', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '3.16e+02', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '3.16e+02', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '3.16e+02', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '3.16e+02', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '3.16e+02', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '3.16e+02', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '3.16e+02', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '3.16e+02', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '3.16e+02', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '3.16e+02', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '3.16e+02', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '3.16e+02', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '5.62e+02', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e+02', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e+02', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e+02', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e+02', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '5.62e+02', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '5.62e+02', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '5.62e+02', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '5.62e+02', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e+02', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '5.62e+02', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '5.62e+02', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '5.62e+02', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '5.62e+02', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '5.62e+02', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '5.62e+02', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '5.62e+02', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '5.62e+02', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '5.62e+02', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '5.62e+02', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '5.62e+02', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.00e+03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e+03', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e+03', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e+03', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e+03', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.00e+03', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.00e+03', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.00e+03', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.00e+03', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e+03', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.00e+03', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.00e+03', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.00e+03', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.00e+03', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.00e+03', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.00e+03', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.00e+03', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.00e+03', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.00e+03', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.00e+03', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.00e+03', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.78e+03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e+03', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e+03', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e+03', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.78e+03', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.78e+03', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.78e+03', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.78e+03', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.78e+03', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.78e+03', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.78e+03', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.78e+03', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.78e+03', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.78e+03', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.78e+03', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.78e+03', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.78e+03', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.78e+03', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.78e+03', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.78e+03', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.78e+03', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '3.16e+03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e+03', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e+03', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e+03', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '3.16e+03', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '3.16e+03', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '3.16e+03', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '3.16e+03', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '3.16e+03', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '3.16e+03', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '3.16e+03', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '3.16e+03', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '3.16e+03', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '3.16e+03', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '3.16e+03', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '3.16e+03', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '3.16e+03', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '3.16e+03', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '3.16e+03', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '3.16e+03', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '3.16e+03', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '5.62e+03', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e+03', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e+03', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e+03', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e+03', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '5.62e+03', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '5.62e+03', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '5.62e+03', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '5.62e+03', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e+03', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '5.62e+03', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '5.62e+03', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '5.62e+03', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '5.62e+03', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '5.62e+03', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '5.62e+03', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '5.62e+03', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '5.62e+03', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '5.62e+03', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '5.62e+03', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '5.62e+03', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.00e+04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e+04', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e+04', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e+04', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e+04', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.00e+04', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.00e+04', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.00e+04', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.00e+04', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e+04', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.00e+04', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.00e+04', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.00e+04', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.00e+04', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.00e+04', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.00e+04', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.00e+04', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.00e+04', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.00e+04', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.00e+04', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.00e+04', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.78e+04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.78e+04', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.78e+04', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.78e+04', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.78e+04', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.78e+04', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.78e+04', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.78e+04', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.78e+04', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.78e+04', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.78e+04', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.78e+04', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.78e+04', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.78e+04', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.78e+04', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.78e+04', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.78e+04', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.78e+04', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.78e+04', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.78e+04', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.78e+04', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '3.16e+04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '3.16e+04', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '3.16e+04', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '3.16e+04', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '3.16e+04', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '3.16e+04', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '3.16e+04', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '3.16e+04', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '3.16e+04', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '3.16e+04', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '3.16e+04', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '3.16e+04', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '3.16e+04', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '3.16e+04', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '3.16e+04', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '3.16e+04', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '3.16e+04', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '3.16e+04', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '3.16e+04', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '3.16e+04', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '3.16e+04', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '5.62e+04', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '5.62e+04', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '5.62e+04', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '5.62e+04', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '5.62e+04', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '5.62e+04', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '5.62e+04', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '5.62e+04', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '5.62e+04', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '5.62e+04', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '5.62e+04', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '5.62e+04', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '5.62e+04', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '5.62e+04', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '5.62e+04', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '5.62e+04', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '5.62e+04', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '5.62e+04', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '5.62e+04', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '5.62e+04', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '5.62e+04', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n", "{'C': '1.00e+05', 'cycle_bound': 0.0} 0.56±0.02 0.54±0.06 0.53±0.15 0.19\n", "{'C': '1.00e+05', 'cycle_bound': 25.0} 0.56±0.02 0.56±0.02 0.55±0.17 0.24\n", "{'C': '1.00e+05', 'cycle_bound': 50.0} 0.56±0.02 0.56±0.02 0.55±0.18 0.31\n", "{'C': '1.00e+05', 'cycle_bound': 75.0} 0.62±0.02 0.62±0.02 0.61±0.16 0.36\n", "{'C': '1.00e+05', 'cycle_bound': 100.0} 0.62±0.02 0.62±0.02 0.59±0.16 0.33\n", "{'C': '1.00e+05', 'cycle_bound': 125.0} 0.62±0.02 0.62±0.02 0.57±0.17 0.33\n", "{'C': '1.00e+05', 'cycle_bound': 150.0} 0.62±0.02 0.62±0.02 0.62±0.19 0.34\n", "{'C': '1.00e+05', 'cycle_bound': 175.0} 0.62±0.02 0.62±0.02 0.60±0.19 0.32\n", "{'C': '1.00e+05', 'cycle_bound': 200.0} 0.61±0.02 0.61±0.02 0.66±0.15 0.33\n", "{'C': '1.00e+05', 'cycle_bound': 225.0} 0.62±0.02 0.62±0.02 0.62±0.18 0.32\n", "{'C': '1.00e+05', 'cycle_bound': 250.0} 0.62±0.02 0.62±0.02 0.61±0.14 0.34\n", "{'C': '1.00e+05', 'cycle_bound': 275.0} 0.61±0.02 0.61±0.02 0.65±0.17 0.32\n", "{'C': '1.00e+05', 'cycle_bound': 300.0} 0.61±0.02 0.61±0.02 0.67±0.16 0.36\n", "{'C': '1.00e+05', 'cycle_bound': 325.0} 0.61±0.02 0.61±0.02 0.66±0.17 0.34\n", "{'C': '1.00e+05', 'cycle_bound': 350.0} 0.62±0.02 0.62±0.02 0.63±0.13 0.32\n", "{'C': '1.00e+05', 'cycle_bound': 375.0} 0.62±0.02 0.62±0.02 0.63±0.15 0.33\n", "{'C': '1.00e+05', 'cycle_bound': 400.0} 0.62±0.02 0.62±0.02 0.59±0.20 0.34\n", "{'C': '1.00e+05', 'cycle_bound': 425.0} 0.62±0.02 0.62±0.02 0.64±0.20 0.36\n", "{'C': '1.00e+05', 'cycle_bound': 450.0} 0.62±0.02 0.62±0.02 0.60±0.17 0.37\n", "{'C': '1.00e+05', 'cycle_bound': 475.0} 0.62±0.02 0.62±0.02 0.63±0.18 0.33\n", "{'C': '1.00e+05', 'cycle_bound': 500.0} 0.62±0.02 0.62±0.02 0.60±0.20 0.33\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r", "calculate performance: 100%|██████████| 25830/25830 [11:10<00:00, 148.58it/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.cyclicPatternKernel import cyclicpatternkernel\n", "\n", "datafile = '../../../../datasets/MAO/dataset.ds'\n", "estimator = cyclicpatternkernel\n", "param_grid_precomputed = {'cycle_bound': np.linspace(0, 300, 21)}\n", "param_grid = {'C': np.logspace(-1, 8, num = 41, base = 10)}\n", "\n", "model_selection_for_precomputed_kernel(datafile, estimator, param_grid_precomputed, param_grid, \n", " 'classification', NUM_TRIALS=30)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " --- This is a classification problem ---\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 0.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 374.47it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 28328.63it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.18629932403564453 seconds ---\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 84%|████████▍ | 842/1000 [00:00<00:00, 2091.27it/s]\n", " Mean performance on train set: 0.549180\n", "With standard deviation: 0.016798\n", "\n", " Mean performance on test set: 0.642857\n", "With standard deviation: 0.146385\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 2096.30it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 25.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 287.60it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 17629.66it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.24226951599121094 seconds ---\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 83%|████████▎ | 830/1000 [00:00<00:00, 2066.27it/s]\n", " Mean performance on train set: 0.883607\n", "With standard deviation: 0.018619\n", "\n", " Mean performance on test set: 0.871429\n", "With standard deviation: 0.162255\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 2070.90it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 50.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 235.08it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 14615.05it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.2961606979370117 seconds ---\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 82%|████████▎ | 825/1000 [00:00<00:00, 2052.54it/s]\n", " Mean performance on train set: 0.824590\n", "With standard deviation: 0.018033\n", "\n", " Mean performance on test set: 0.814286\n", "With standard deviation: 0.157143\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 2065.69it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 75.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 225.36it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 13927.76it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.30864953994750977 seconds ---\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 83%|████████▎ | 833/1000 [00:00<00:00, 2079.43it/s]\n", " Mean performance on train set: 0.824590\n", "With standard deviation: 0.018033\n", "\n", " Mean performance on test set: 0.814286\n", "With standard deviation: 0.157143\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 2075.92it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 100.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 68/68 [00:00<00:00, 225.45it/s]\n", "calculate kernels: 100%|██████████| 68/68 [00:00<00:00, 14876.52it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 68 built in 0.30840325355529785 seconds ---\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 84%|████████▍ | 844/1000 [00:00<00:00, 2103.96it/s]\n", " Mean performance on train set: 0.824590\n", "With standard deviation: 0.018033\n", "\n", " Mean performance on test set: 0.814286\n", "With standard deviation: 0.157143\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 2100.94it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 125.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 76%|███████▋ | 52/68 [00:00<00:00, 252.37it/s]" ] }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m kernel_train_test(datafile, kernel_file_path, cyclicpatternkernel, kernel_para, hyper_name = 'cycle_bound', hyper_range = np.linspace(0, 500, 21), normalize = False,\n\u001b[0;32m---> 17\u001b[0;31m model_type = 'classification')\n\u001b[0m", "\u001b[0;32m/media/ljia/DATA/research-repo/codes/Linlin/py-graph/pygraph/utils/utils.py\u001b[0m in \u001b[0;36mkernel_train_test\u001b[0;34m(datafile, kernel_file_path, kernel_func, kernel_para, trials, splits, alpha_grid, C_grid, hyper_name, hyper_range, normalize, datafile_y, model_type)\u001b[0m\n\u001b[1;32m 159\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhyper_name\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;34m''\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[0mkernel_para\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mhyper_name\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhyper_para\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 161\u001b[0;31m \u001b[0mKmatrix\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun_time\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkernel_func\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdataset\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkernel_para\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 162\u001b[0m \u001b[0mkernel_time_list\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrun_time\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/media/ljia/DATA/research-repo/codes/Linlin/py-graph/pygraph/kernels/cyclicPatternKernel.py\u001b[0m in \u001b[0;36mcyclicpatternkernel\u001b[0;34m(node_label, edge_label, labeled, cycle_bound, *args)\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0;31m# get all cyclic and tree patterns of all graphs before calculating kernels to save time, but this may consume a lot of memory for large dataset.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m all_patterns = [ get_patterns(Gn[i], node_label = node_label, edge_label = edge_label, labeled = labeled, cycle_bound = cycle_bound)\n\u001b[0;32m---> 50\u001b[0;31m for i in tqdm(range(0, len(Gn)), desc = 'retrieve patterns', file=sys.stdout) ]\n\u001b[0m\u001b[1;32m 51\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtqdm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mGn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdesc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'calculate kernels'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstdout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/media/ljia/DATA/research-repo/codes/Linlin/py-graph/pygraph/kernels/cyclicPatternKernel.py\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0;31m# get all cyclic and tree patterns of all graphs before calculating kernels to save time, but this may consume a lot of memory for large dataset.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 49\u001b[0m all_patterns = [ get_patterns(Gn[i], node_label = node_label, edge_label = edge_label, labeled = labeled, cycle_bound = cycle_bound)\n\u001b[0;32m---> 50\u001b[0;31m for i in tqdm(range(0, len(Gn)), desc = 'retrieve patterns', file=sys.stdout) ]\n\u001b[0m\u001b[1;32m 51\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtqdm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mGn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdesc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'calculate kernels'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfile\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstdout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/media/ljia/DATA/research-repo/codes/Linlin/py-graph/pygraph/kernels/cyclicPatternKernel.py\u001b[0m in \u001b[0;36mget_patterns\u001b[0;34m(G, node_label, edge_label, labeled, cycle_bound)\u001b[0m\n\u001b[1;32m 111\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 112\u001b[0m \u001b[0mbicomponents\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbiconnected_component_subgraphs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mG\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# all biconnected components of G. this function use algorithm in reference [2], which (i guess) is slightly different from the one used in paper [1]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 113\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0msubgraph\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mbicomponents\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 114\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnumber_of_edges\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msubgraph\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 115\u001b[0m \u001b[0msimple_cycles\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msimple_cycles\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mG\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_directed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# all simple cycles in biconnected components. this function use algorithm in reference [3], which has time complexity O((n+e)(N+1)) for n nodes, e edges and N simple cycles. Which might be slower than the algorithm applied in paper [1]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.5/dist-packages/networkx/algorithms/components/biconnected.py\u001b[0m in \u001b[0;36mbiconnected_component_subgraphs\u001b[0;34m(G, copy)\u001b[0m\n\u001b[1;32m 275\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mc\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mbiconnected_components\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mG\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 276\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcopy\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 277\u001b[0;31m \u001b[0;32myield\u001b[0m \u001b[0mG\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubgraph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 278\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 279\u001b[0m \u001b[0;32myield\u001b[0m \u001b[0mG\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubgraph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.5/dist-packages/networkx/classes/graph.py\u001b[0m in \u001b[0;36mcopy\u001b[0;34m(self, as_view)\u001b[0m\n\u001b[1;32m 1420\u001b[0m \u001b[0mG\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_nodes_from\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0md\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_node\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1421\u001b[0m G.add_edges_from((u, v, datadict.copy())\n\u001b[0;32m-> 1422\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnbrs\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_adj\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1423\u001b[0m for v, datadict in nbrs.items())\n\u001b[1;32m 1424\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mG\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.5/dist-packages/networkx/classes/graph.py\u001b[0m in \u001b[0;36madd_edges_from\u001b[0;34m(self, ebunch_to_add, **attr)\u001b[0m\n\u001b[1;32m 926\u001b[0m \u001b[0mne\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 927\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mne\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 928\u001b[0;31m \u001b[0mu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 929\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mne\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 930\u001b[0m \u001b[0mu\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "# MAO dataset (node labeled, edge labeled, undirected, cyclic + linear, classification)\n", "%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.cyclicPatternKernel import cyclicpatternkernel\n", "\n", "import numpy as np\n", "\n", "datafile = '../../../../datasets/MAO/dataset.ds'\n", "kernel_file_path = 'kernelmatrices_cyclicpattern_mao/'\n", "\n", "kernel_para = dict(node_label = 'atom', edge_label = 'bond_type', labeled = True)\n", "\n", "kernel_train_test(datafile, kernel_file_path, cyclicpatternkernel, kernel_para, \\\n", " hyper_name = 'cycle_bound', hyper_range = np.linspace(0, 500, 21), normalize = False,\n", " model_type = 'classification')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The line_profiler extension is already loaded. To reload it, use:\n", " %reload_ext line_profiler\n", "\n", " --- This is a classification problem ---\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 0.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 176.07it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 18331.07it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.5411422252655029 seconds ---\n", "[[0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 95%|█████████▌| 951/1000 [00:00<00:00, 1898.18it/s]\n", " Mean performance on train set: 0.629762\n", "With standard deviation: 0.013521\n", "\n", " Mean performance on test set: 0.610000\n", "With standard deviation: 0.113578\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1889.49it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 10.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 165.16it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 16217.54it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.5770719051361084 seconds ---\n", "[[0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 94%|█████████▍| 940/1000 [00:00<00:00, 1876.61it/s]\n", " Mean performance on train set: 0.629762\n", "With standard deviation: 0.013521\n", "\n", " Mean performance on test set: 0.610000\n", "With standard deviation: 0.113578\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1866.80it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 20.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 165.21it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 16888.61it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.5768516063690186 seconds ---\n", "[[3. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 93%|█████████▎| 926/1000 [00:00<00:00, 1837.36it/s]\n", " Mean performance on train set: 0.629762\n", "With standard deviation: 0.013521\n", "\n", " Mean performance on test set: 0.610000\n", "With standard deviation: 0.113578\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1841.13it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 30.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 171.51it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 17701.46it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.5560076236724854 seconds ---\n", "[[3. 3. 3. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 92%|█████████▏| 923/1000 [00:00<00:00, 1845.18it/s]\n", " Mean performance on train set: 0.633333\n", "With standard deviation: 0.015793\n", "\n", " Mean performance on test set: 0.640000\n", "With standard deviation: 0.111355\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1836.56it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 40.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 159.66it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 17703.84it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.5963354110717773 seconds ---\n", "[[3. 3. 3. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 84%|████████▍ | 845/1000 [00:00<00:00, 1694.10it/s]\n", " Mean performance on train set: 0.633333\n", "With standard deviation: 0.015793\n", "\n", " Mean performance on test set: 0.640000\n", "With standard deviation: 0.111355\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1694.34it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 50.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 126.36it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 14863.89it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.7526798248291016 seconds ---\n", "[[3. 3. 3. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 84%|████████▍ | 842/1000 [00:00<00:00, 1670.86it/s]\n", " Mean performance on train set: 0.658333\n", "With standard deviation: 0.034524\n", "\n", " Mean performance on test set: 0.670000\n", "With standard deviation: 0.090000\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1665.11it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 60.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:00<00:00, 107.33it/s]\n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 13937.03it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 0.8846912384033203 seconds ---\n", "[[3. 3. 3. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " [3. 4. 4. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 83%|████████▎ | 829/1000 [00:00<00:00, 1653.86it/s]\n", " Mean performance on train set: 0.671429\n", "With standard deviation: 0.036577\n", "\n", " Mean performance on test set: 0.680000\n", "With standard deviation: 0.107703\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1673.57it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 70.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:01<00:00, 81.45it/s] \n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 14275.64it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 1.1631414890289307 seconds ---\n", "[[3. 3. 3. ... 3. 3. 3.]\n", " [3. 4. 4. ... 4. 4. 4.]\n", " [3. 4. 4. ... 4. 4. 4.]\n", " ...\n", " [3. 4. 4. ... 7. 7. 7.]\n", " [3. 4. 4. ... 7. 7. 7.]\n", " [3. 4. 4. ... 7. 7. 7.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 88%|████████▊ | 876/1000 [00:00<00:00, 1761.00it/s]\n", " Mean performance on train set: 0.666667\n", "With standard deviation: 0.038021\n", "\n", " Mean performance on test set: 0.670000\n", "With standard deviation: 0.100499\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1754.20it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 80.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 94/94 [00:01<00:00, 79.93it/s] \n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 14789.73it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 1.1846554279327393 seconds ---\n", "[[3. 3. 3. ... 3. 3. 3.]\n", " [3. 4. 4. ... 4. 4. 4.]\n", " [3. 4. 4. ... 4. 4. 4.]\n", " ...\n", " [3. 4. 4. ... 7. 7. 7.]\n", " [3. 4. 4. ... 7. 7. 7.]\n", " [3. 4. 4. ... 7. 7. 7.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 93%|█████████▎| 926/1000 [00:00<00:00, 1854.59it/s]\n", " Mean performance on train set: 0.709524\n", "With standard deviation: 0.058853\n", "\n", " Mean performance on test set: 0.780000\n", "With standard deviation: 0.107703\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1844.77it/s]\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 90.0 ---#\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "retrieve patterns: 100%|██████████| 94/94 [00:01<00:00, 83.75it/s] \n", "calculate kernels: 100%|██████████| 94/94 [00:00<00:00, 14169.95it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 94 built in 1.1314406394958496 seconds ---\n", "[[3. 3. 3. ... 3. 3. 3.]\n", " [3. 4. 4. ... 4. 4. 4.]\n", " [3. 4. 4. ... 4. 4. 4.]\n", " ...\n", " [3. 4. 4. ... 7. 7. 7.]\n", " [3. 4. 4. ... 7. 7. 7.]\n", " [3. 4. 4. ... 7. 7. 7.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 94%|█████████▍| 943/1000 [00:00<00:00, 1878.69it/s]\n", " Mean performance on train set: 0.709524\n", "With standard deviation: 0.058853\n", "\n", " Mean performance on test set: 0.780000\n", "With standard deviation: 0.107703\n", "calculate performance: 100%|██████████| 1000/1000 [00:00<00:00, 1872.55it/s]\n", "\n", "\n", " cycle_bound accur_test std_test accur_train std_train k_time\n", "------------- ------------ ---------- ------------- ----------- --------\n", " 0 0.61 0.113578 0.629762 0.0135212 0.541142\n", " 10 0.61 0.113578 0.629762 0.0135212 0.577072\n", " 20 0.61 0.113578 0.629762 0.0135212 0.576852\n", " 30 0.64 0.111355 0.633333 0.0157935 0.556008\n", " 40 0.64 0.111355 0.633333 0.0157935 0.596335\n", " 50 0.67 0.09 0.658333 0.0345238 0.75268\n", " 60 0.68 0.107703 0.671429 0.0365769 0.884691\n", " 70 0.67 0.100499 0.666667 0.0380208 1.16314\n", " 80 0.78 0.107703 0.709524 0.0588534 1.18466\n", " 90 0.78 0.107703 0.709524 0.0588534 1.13144\n" ] } ], "source": [ "# PAH dataset (node and edge unlabeled, undirected, cyclic, classification)\n", "%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.cyclicPatternKernel import cyclicpatternkernel\n", "\n", "import numpy as np\n", "\n", "datafile = '../../../../datasets/PAH/dataset.ds'\n", "kernel_file_path = 'kernelmatrices_cyclicpattern_pah/'\n", "\n", "\n", "kernel_para = dict(node_label = 'atom', edge_label = 'bond_type', labeled = False)\n", "\n", "kernel_train_test(datafile, kernel_file_path, cyclicpatternkernel, kernel_para, \\\n", " hyper_name = 'cycle_bound', hyper_range = np.linspace(0, 90, 10), normalize = False, \\\n", " model_type = 'classification')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# results\n", "\n", "# MAO dataset\n", "cycle_bound accur_test std_test accur_train std_train k_time\n", "------------- ------------ ---------- ------------- ----------- --------\n", " 0 0.642857 0.146385 0.54918 0.0167983 0.187052\n", " 50 0.871429 0.1 0.698361 0.116889 0.300629\n", " 100 0.9 0.111575 0.732787 0.0826366 0.309837\n", " 150 0.9 0.111575 0.732787 0.0826366 0.31808\n", " 200 0.9 0.111575 0.732787 0.0826366 0.317575\n", " \n", "# PAH dataset\n", " cycle_bound accur_test std_test accur_train std_train k_time\n", "------------- ------------ ---------- ------------- ----------- --------\n", " 0 0.61 0.113578 0.629762 0.0135212 0.521801\n", " 10 0.61 0.113578 0.629762 0.0135212 0.52589\n", " 20 0.61 0.113578 0.629762 0.0135212 0.548528\n", " 30 0.64 0.111355 0.633333 0.0157935 0.535311\n", " 40 0.64 0.111355 0.633333 0.0157935 0.61764\n", " 50 0.67 0.09 0.658333 0.0345238 0.733868\n", " 60 0.68 0.107703 0.671429 0.0365769 0.871147\n", " 70 0.67 0.100499 0.666667 0.0380208 1.12625\n", " 80 0.78 0.107703 0.709524 0.0588534 1.19828\n", " 90 0.78 0.107703 0.709524 0.0588534 1.21182" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " --- This is a classification problem ---\n", "\n", "\n", " #--- calculating kernel matrix when cycle_bound = 1000.0 ---#\n", "\n", " Loading dataset from file...\n", "load SDF: 100%|██████████| 4457424/4457424 [00:10<00:00, 408299.51it/s]\n", "ajust data: 100%|██████████| 42687/42687 [00:10<00:00, 4092.17it/s] \n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 42682/42682 [19:36<00:00, 36.27it/s]\n", "calculate kernels: 100%|██████████| 42682/42682 [37:05<00:00, 19.18it/s] \n", "\n", " --- kernel matrix of cyclic pattern kernel of size 42682 built in 3402.171978712082 seconds ---\n", "[[ 9. 9. 3. ... 4. 3. 4.]\n", " [ 9. 11. 5. ... 6. 5. 6.]\n", " [ 3. 5. 16. ... 6. 6. 6.]\n", " ...\n", " [ 4. 6. 6. ... 30. 29. 6.]\n", " [ 3. 5. 6. ... 29. 29. 6.]\n", " [ 4. 6. 6. ... 6. 6. 11.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 7%|▋ | 70/1000 [1:34:57<227:25:45, 880.37s/it]" ] } ], "source": [ "# NCI-HIV dataset (labeled?, directed?, cyclic, classification)\n", "%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.cyclicPatternKernel import cyclicpatternkernel\n", "\n", "import numpy as np\n", "\n", "datafile = '../../../../datasets/NCI-HIV/AIDO99SD.sdf'\n", "datafile_y = '../../../../datasets/NCI-HIV/aids_conc_may04.txt'\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, cyclicpatternkernel, kernel_para, \\\n", " hyper_name = 'cycle_bound', hyper_range = np.linspace(0, 1000, 21), normalize = False, \\\n", " datafile_y = datafile_y, model_type = 'classification')\n", "\n", "# kernel_para = dict(node_label = 'atom', edge_label = 'bond_type', labeled = True, cycle_bound = 200)\n", "\n", "# kernel_train_test(datafile, kernel_file_path, cyclicpatternkernel, kernel_para,\n", "# normalize = False, datafile_y = datafile_y, model_type = 'classification')\n", "\n", "# kernel_para['k_func'] = 'minmax'\n", "# kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, \\\n", "# hyper_name = 'depth', hyper_range = np.linspace(0, 10, 11), normalize = True)\n", "# kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, \\\n", "# hyper_name = 'depth', hyper_range = np.linspace(0, 10, 11), normalize = False)\n", "# # kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, normalize = False)\n", "\n", "# kernel_para['depth'] = 10\n", "# %lprun -f untildpathkernel \\\n", "# kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, normalize = False)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The line_profiler extension is already loaded. To reload it, use:\n", " %reload_ext line_profiler\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", " --- kernel matrix of cyclic pattern kernel of size 999 built in 18.78946042060852 seconds ---\n", "(array([[11., 5., 5., ..., 6., 7., 3.],\n", " [ 5., 16., 6., ..., 5., 5., 3.],\n", " [ 5., 6., 8., ..., 4., 5., 3.],\n", " ...,\n", " [ 6., 5., 4., ..., 17., 7., 4.],\n", " [ 7., 5., 5., ..., 7., 15., 4.],\n", " [ 3., 3., 3., ..., 4., 4., 11.]]), 18.78946042060852)\n" ] } ], "source": [ "%load_ext line_profiler\n", "\n", "import networkx as nx\n", "import matplotlib.pyplot as plt\n", "import sys\n", "sys.path.insert(0, \"../\")\n", "from pygraph.utils.graphfiles import loadDataset\n", "from pygraph.kernels.cyclicPatternKernel import cyclicpatternkernel\n", "\n", "# datafile = '../../../../datasets/NCI-HIV/AIDO99SD.sdf'\n", "# datafile_y = '../../../../datasets/NCI-HIV/aids_conc_may04.txt'\n", "# dataset, y = loadDataset(datafile, datafile_y)\n", "G1 = dataset[1]\n", "G2 = dataset[2]\n", "G3 = dataset[3]\n", "G4 = dataset[4]\n", "G5 = dataset[5]\n", "data = [G1, G2, G3, G4, G5]\n", "nx.draw_networkx(G1)\n", "plt.show()\n", "nx.draw_networkx(G2)\n", "plt.show()\n", "\n", "kernel = cyclicpatternkernel(dataset[1:1000], cycle_bound = 1000)\n", "print(kernel)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " --- This is a classification problem ---\n", "\n", "\n", " Loading dataset from file...\n", "\n", " Calculating kernel matrix, this could take a while...\n", "retrieve patterns: 100%|██████████| 185/185 [00:00<00:00, 2064.69it/s]\n", "calculate kernels: 100%|██████████| 185/185 [00:00<00:00, 11170.00it/s]\n", "\n", " --- kernel matrix of cyclic pattern kernel of size 185 built in 0.10836505889892578 seconds ---\n", "[[0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " ...\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]\n", " [0. 0. 0. ... 0. 0. 0.]]\n", "\n", " Starting calculate accuracy/rmse...\n", "calculate performance: 100%|██████████| 1000/1000 [00:24<00:00, 36.41it/s]\n", " Mean performance on train set: 0.018072\n", "With standard deviation: 0.000000\n", "\n", " Mean performance on test set: 0.000000\n", "With standard deviation: 0.000000\n", "\n", "\n", " accur_test std_test accur_train std_train k_time\n", "------------ ---------- ------------- ----------- --------\n", " 0 0 0.0180723 0 0.108365\n" ] } ], "source": [ "# acyclic dataset (node labeled, edge labeled, undirected, linear + non-linear, regression)\n", "%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.cyclicPatternKernel import cyclicpatternkernel\n", "\n", "import numpy as np\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, cycle_bound = 200)\n", "\n", "# kernel_train_test(datafile, kernel_file_path, treeletkernel, kernel_para, normalize = False)\n", "\n", "kernel_train_test(datafile, kernel_file_path, cyclicpatternkernel, kernel_para, \\\n", " normalize = False , model_type = 'classification')\n", "\n", "# kernel_para['k_func'] = 'minmax'\n", "# kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, \\\n", "# hyper_name = 'depth', hyper_range = np.linspace(0, 10, 11), normalize = True)\n", "# kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, \\\n", "# hyper_name = 'depth', hyper_range = np.linspace(0, 10, 11), normalize = False)\n", "# # kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, normalize = False)\n", "\n", "# kernel_para['depth'] = 10\n", "# %lprun -f untildpathkernel \\\n", "# kernel_train_test(datafile, kernel_file_path, untildpathkernel, kernel_para, normalize = False)" ] } ], "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" } }, "nbformat": 4, "nbformat_minor": 2 }