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 [ ]: