In [1]:
import sys
sys.path.append('../src/mane/prototype/')
import numpy as np
import graph as g
import pickle as p
import embeddings as e
from sklearn.preprocessing import normalize, scale
from sklearn.metrics import f1_score
from sklearn.multiclass import OneVsRestClassifier
from sklearn.svm import LinearSVC
from sklearn.linear_model import LogisticRegression
Using Theano backend.
In [2]:
bc = g.graph_from_pickle('../../research/src/mane/data/blogcatalog3.graph',
'../../research/src/mane/data/blogcatalog3.community')
In [16]:
bc.triangle_walk(walk_length=80,start_node=5)
Out[16]:
array([ 5, 587, 6074, 5014, 2085, 8476, 5361, 5333, 176, 4433, 9188,
394, 1115, 5974, 7702, 7065, 7922, 605, 3198, 8310, 2606, 8524,
2228, 667, 1226, 2221, 3765, 1226, 8888, 4647, 4733, 9172, 3407,
1226, 1686, 5241, 9465, 9121, 8471, 7061, 7851, 9420, 5051, 7851,
8853, 4839, 6963, 6665, 7533, 5142, 7215, 1219, 7098, 9979, 9844,
29, 7026, 5681, 449, 1413, 37, 1443, 430, 291, 4984, 1681,
1677, 1398, 1374, 5450, 4931, 2786, 4667, 1327, 394, 8056, 6943,
233, 7373, 15], dtype=int32)
In [4]:
%timeit bc.random_walk(walk_length=80, start_node=5)
The slowest run took 4.91 times longer than the fastest. This could mean that an intermediate result is being cached.
1000 loops, best of 3: 363 µs per loop
In [8]:
%timeit for _ in range(1000): bc.unigram(1)
1000 loops, best of 3: 1.76 ms per loop
In [3]:
bc.gen_walk(pos_func='random_walk', neg_func='unigram',pos_args=None, neg_args=None,
walk_per_batch=1, walk_length=80, neg_samp=5, num_skip=5, shuffle=True,
window_size=10)
Out[3]:
((array([5463, 5463, 5463, 5463, 5463, 5463, 5463, 5463, 5463, 5463, 1625,
1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1625, 1665, 1665,
1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 2869, 2869, 2869,
2869, 2869, 2869, 2869, 2869, 2869, 2869, 556, 556, 556, 556,
556, 556, 556, 556, 556, 556, 2443, 2443, 2443, 2443, 2443,
2443, 2443, 2443, 2443, 2443, 6948, 6948, 6948, 6948, 6948, 6948,
6948, 6948, 6948, 6948, 310, 310, 310, 310, 310, 310, 310,
310, 310, 310, 5377, 5377, 5377, 5377, 5377, 5377, 5377, 5377,
5377, 5377, 4806, 4806, 4806, 4806, 4806, 4806, 4806, 4806, 4806,
4806, 5906, 5906, 5906, 5906, 5906, 5906, 5906, 5906, 5906, 5906,
4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 4088, 739,
739, 739, 739, 739, 739, 739, 739, 739, 739, 5030, 5030,
5030, 5030, 5030, 5030, 5030, 5030, 5030, 5030, 610, 610, 610,
610, 610, 610, 610, 610, 610, 610, 9919, 9919, 9919, 9919,
9919, 9919, 9919, 9919, 9919, 9919, 2149, 2149, 2149, 2149, 2149,
2149, 2149, 2149, 2149, 2149, 4490, 4490, 4490, 4490, 4490, 4490,
4490, 4490, 4490, 4490, 301, 301, 301, 301, 301, 301, 301,
301, 301, 301, 6058, 6058, 6058, 6058, 6058, 6058, 6058, 6058,
6058, 6058, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119, 4119,
4119, 6986, 6986, 6986, 6986, 6986, 6986, 6986, 6986, 6986, 6986,
1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1894, 1487,
1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 1487, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 5688, 5688, 5688,
5688, 5688, 5688, 5688, 5688, 5688, 5688, 2241, 2241, 2241, 2241,
2241, 2241, 2241, 2241, 2241, 2241, 9456, 9456, 9456, 9456, 9456,
9456, 9456, 9456, 9456, 9456, 449, 449, 449, 449, 449, 449,
449, 449, 449, 449, 8055, 8055, 8055, 8055, 8055, 8055, 8055,
8055, 8055, 8055, 6886, 6886, 6886, 6886, 6886, 6886, 6886, 6886,
6886, 6886, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078, 3078,
3078, 9638, 9638, 9638, 9638, 9638, 9638, 9638, 9638, 9638, 9638,
8471, 8471, 8471, 8471, 8471, 8471, 8471, 8471, 8471, 8471, 8494,
8494, 8494, 8494, 8494, 8494, 8494, 8494, 8494, 8494, 176, 176,
176, 176, 176, 176, 176, 176, 176, 176, 2082, 2082, 2082,
2082, 2082, 2082, 2082, 2082, 2082, 2082, 761, 761, 761, 761,
761, 761, 761, 761, 761, 761, 2730, 2730, 2730, 2730, 2730,
2730, 2730, 2730, 2730, 2730, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 8600, 8600, 8600, 8600, 8600, 8600, 8600,
8600, 8600, 8600, 8293, 8293, 8293, 8293, 8293, 8293, 8293, 8293,
8293, 8293, 6802, 6802, 6802, 6802, 6802, 6802, 6802, 6802, 6802,
6802, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625, 5625,
5296, 5296, 5296, 5296, 5296, 5296, 5296, 5296, 5296, 5296, 3262,
3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 3262, 77, 77,
77, 77, 77, 77, 77, 77, 77, 77, 3608, 3608, 3608,
3608, 3608, 3608, 3608, 3608, 3608, 3608, 3419, 3419, 3419, 3419,
3419, 3419, 3419, 3419, 3419, 3419, 208, 208, 208, 208, 208,
208, 208, 208, 208, 208, 4573, 4573, 4573, 4573, 4573, 4573,
4573, 4573, 4573, 4573, 4201, 4201, 4201, 4201, 4201, 4201, 4201,
4201, 4201, 4201, 8770, 8770, 8770, 8770, 8770, 8770, 8770, 8770,
8770, 8770, 5910, 5910, 5910, 5910, 5910, 5910, 5910, 5910, 5910,
5910, 5420, 5420, 5420, 5420, 5420, 5420, 5420, 5420, 5420, 5420,
2469, 2469, 2469, 2469, 2469, 2469, 2469, 2469, 2469, 2469, 3561,
3561, 3561, 3561, 3561, 3561, 3561, 3561, 3561, 3561, 1135, 1135,
1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 2521, 2521, 2521,
2521, 2521, 2521, 2521, 2521, 2521, 2521, 585, 585, 585, 585,
585, 585, 585, 585, 585, 585, 1681, 1681, 1681, 1681, 1681,
1681, 1681, 1681, 1681, 1681, 377, 377, 377, 377, 377, 377,
377, 377, 377, 377, 9824, 9824, 9824, 9824, 9824, 9824, 9824,
9824, 9824, 9824, 2031, 2031, 2031, 2031, 2031, 2031, 2031, 2031,
2031, 2031, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560,
3560, 2633, 2633, 2633, 2633, 2633, 2633, 2633, 2633, 2633, 2633,
3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 3535, 2085,
2085, 2085, 2085, 2085, 2085, 2085, 2085, 2085, 2085, 739, 739,
739, 739, 739, 739, 739, 739, 739, 739, 6625, 6625, 6625,
6625, 6625, 6625, 6625, 6625, 6625, 6625, 3561, 3561, 3561, 3561,
3561, 3561, 3561, 3561, 3561, 3561], dtype=int32),
array([ 5377, 1625, 310, 556, 2443, 1491, 1872, 8876, 9821,
2064, 556, 2869, 4806, 2443, 5377, 2652, 1242, 6011,
7037, 10120, 556, 310, 4806, 2869, 4088, 5308, 32,
3829, 8047, 7296, 556, 2443, 4088, 310, 4806, 7811,
449, 8583, 9716, 4049, 5030, 4088, 310, 6948, 739,
7082, 7313, 718, 3066, 7393, 739, 5377, 5906, 6948,
5030, 1673, 9726, 7365, 2437, 593, 9919, 4806, 5906,
5030, 610, 7836, 6791, 6421, 6770, 3789, 4088, 739,
5377, 9919, 5906, 1223, 3981, 1901, 6731, 1279, 4088,
739, 4490, 2149, 610, 4587, 8628, 2900, 5329, 7167,
2149, 4490, 739, 5906, 301, 2007, 6228, 4457, 5438,
1209, 2149, 6058, 739, 4490, 4088, 8221, 5633, 5706,
5647, 4765, 9919, 4119, 5030, 6058, 2149, 1314, 9857,
2783, 3693, 3321, 9919, 610, 2149, 301, 6058, 9526,
2432, 8317, 5699, 1583, 4119, 6058, 1894, 4490, 9919,
9754, 1344, 4629, 3169, 7610, 4490, 301, 1487, 6058,
6986, 3861, 1199, 4508, 8972, 6045, 4490, 233, 6058,
1894, 6986, 5253, 7751, 4834, 1216, 8875, 1894, 6986,
301, 5688, 6058, 8116, 8726, 5332, 7281, 9694, 301,
6986, 233, 1894, 6058, 5476, 1357, 2632, 889, 6206,
6986, 1487, 9456, 1894, 2241, 490, 4219, 7933, 4066,
8583, 1487, 9456, 1894, 233, 2241, 9016, 10103, 3839,
7357, 676, 449, 1894, 9456, 233, 5688, 9007, 6661,
2383, 2172, 6112, 5688, 6886, 233, 1487, 449, 2391,
448, 1377, 4652, 8976, 5688, 9456, 2241, 3078, 6886,
4481, 4551, 7201, 8255, 9291, 5688, 8055, 9456, 6886,
9638, 3837, 62, 7181, 2840, 8264, 449, 9456, 6886,
8055, 5688, 8733, 5841, 2834, 10110, 3465, 6886, 449,
8471, 8055, 8494, 49, 1849, 6929, 6880, 9627, 6886,
9456, 176, 8055, 8494, 4597, 5690, 4308, 1337, 340,
176, 2082, 3078, 449, 8471, 8968, 7817, 3561, 1896,
7752, 176, 8471, 8055, 2082, 9638, 10068, 5851, 6721,
5112, 687, 176, 6886, 8494, 3078, 761, 4976, 649,
6052, 1022, 10043, 2730, 2082, 8471, 3078, 761, 2385,
9310, 4715, 4052, 7378, 2730, 761, 9638, 176, 8471,
104, 6695, 4256, 62, 7448, 8494, 8600, 2082, 8471,
8293, 5217, 1071, 4651, 1694, 8387, 6802, 26, 176,
8494, 2082, 9813, 8580, 6945, 5062, 3925, 8293, 2730,
5625, 176, 6802, 5904, 3088, 2561, 5628, 85, 6802,
761, 2082, 5296, 5625, 5938, 7272, 9675, 4435, 8704,
26, 8293, 8600, 6802, 3262, 305, 3050, 9141, 7492,
1951, 8293, 8600, 26, 5296, 3262, 8410, 6095, 1034,
3698, 7338, 5296, 26, 8293, 5625, 3608, 6758, 9783,
1990, 4757, 8407, 8600, 77, 8293, 6802, 3419, 4749,
394, 7606, 6090, 2925, 3262, 3608, 5296, 6802, 5625,
1436, 4648, 2158, 3031, 10111, 3262, 5296, 77, 4573,
5625, 8758, 1107, 9063, 4717, 1992, 5625, 77, 208,
3262, 4573, 8621, 1121, 5391, 1878, 7034, 5296, 3608,
3419, 4201, 77, 5643, 180, 100, 6295, 1368, 5910,
3262, 3419, 4573, 77, 1386, 9772, 5825, 1186, 2344,
5420, 4573, 3608, 8770, 77, 1715, 4031, 6168, 4354,
7386, 4201, 4573, 5910, 5420, 3419, 864, 4530, 6721,
3598, 6542, 3561, 5910, 4573, 2469, 5420, 1024, 9804,
454, 811, 4469, 2469, 5910, 8770, 208, 5420, 7937,
1860, 4350, 9033, 9920, 2521, 4573, 8770, 4201, 2469,
6427, 6795, 4825, 526, 485, 2521, 8770, 585, 3561,
5910, 9014, 8477, 9635, 3909, 1179, 585, 1135, 1681,
2469, 5420, 4384, 1009, 6663, 7457, 6297, 2469, 2521,
3561, 585, 1681, 7523, 7999, 9142, 9302, 7387, 585,
9824, 3561, 1681, 5420, 1689, 3265, 5564, 5804, 341,
2469, 9824, 585, 1135, 2521, 10241, 7117, 1059, 1622,
6249, 585, 9824, 1681, 377, 2031, 7388, 1521, 5899,
8255, 8889, 377, 3560, 2521, 585, 1681, 7694, 6216,
9892, 1478, 4335, 585, 3535, 3560, 9824, 2521, 8515,
1000, 7559, 8140, 3382, 2085, 585, 377, 2031, 2633,
6355, 10084, 7291, 1533, 5891, 3535, 377, 2031, 739,
3560, 1078, 7670, 295, 5432, 361, 2031, 6625, 9824,
2085, 3535, 7302, 9895, 1543, 5804, 5568, 2085, 3535,
3561, 2633, 6625, 4142, 8379, 4514, 538, 4698, 3179,
3561, 3535, 2031, 2633, 2149, 3759, 4139, 3618, 818,
3560, 2085, 4501, 2633, 3561, 5446, 9180, 8683, 9820,
1021, 6625, 3179, 2633, 3561, 3535, 8535, 8751, 1868,
4208, 8900, 3179, 2085, 6625, 2085, 3561, 3257, 5444,
5999, 7460, 1718, 2085, 4501, 739, 5534, 3179, 2888,
7945, 9144, 6346, 1534, 3561, 739, 3179, 6625, 4501,
9888, 10017, 4075, 5516, 8561, 3179, 4501, 5534, 6410,
1196, 7654, 2360, 2965, 7400, 620, 5534, 3561, 3179,
6156, 4501, 7385, 755, 848, 7027, 5435, 5625, 3179,
5534, 4501, 6410, 10276, 3452, 8696, 1161, 3041], dtype=int32)),
array([ 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0.,
0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0.,
0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1.,
1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1.,
0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.,
0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1.,
1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1.,
1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0.,
0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0.,
1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0.,
0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0.,
0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1.,
1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1.,
0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.,
0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1.,
1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1.,
1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0.,
0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0.,
1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0.,
0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0.,
0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1.,
1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1.,
0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.,
0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1.,
1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1.,
1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0.,
0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0.,
1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0.,
0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0.,
0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1.,
1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1.,
0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.,
0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1.,
1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1.,
1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0.,
0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0.,
1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0.,
0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0.,
0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1.,
1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1.,
0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0.,
0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1.,
1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1.,
1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0.,
0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0.,
1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 1., 1., 1., 1., 1., 0.,
0., 0., 0., 0., 1., 1., 1., 1., 1., 0., 0., 0., 0.,
0., 1., 1., 1., 1., 1., 0., 0., 0., 0., 0., 1., 1.,
1., 1., 1., 0., 0., 0., 0., 0.], dtype=float32),
1)
In [ ]:
Content source: gear/motifwalk
Similar notebooks: