grarep_checked_v0.0
This commit is contained in:
parent
359d0aeea7
commit
768d04eda0
@ -1,7 +1,16 @@
|
|||||||
|
"""
|
||||||
|
a matrix factorization based NE method: GraRep
|
||||||
|
|
||||||
|
modified by Chengbin Hou 2018
|
||||||
|
|
||||||
|
originally from https://github.com/thunlp/OpenNE/blob/master/src/openne/grarep.py
|
||||||
|
"""
|
||||||
|
|
||||||
import math
|
import math
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from numpy import linalg as la
|
from numpy import linalg as la
|
||||||
from sklearn.preprocessing import normalize
|
from sklearn.preprocessing import normalize
|
||||||
|
from .utils import row_as_probdist
|
||||||
|
|
||||||
class GraRep(object):
|
class GraRep(object):
|
||||||
|
|
||||||
@ -13,6 +22,7 @@ class GraRep(object):
|
|||||||
self.train()
|
self.train()
|
||||||
|
|
||||||
def getAdjMat(self):
|
def getAdjMat(self):
|
||||||
|
'''
|
||||||
graph = self.g.G
|
graph = self.g.G
|
||||||
node_size = self.g.get_num_nodes()
|
node_size = self.g.get_num_nodes()
|
||||||
look_up = self.g.look_up_dict
|
look_up = self.g.look_up_dict
|
||||||
@ -22,6 +32,9 @@ class GraRep(object):
|
|||||||
adj[look_up[edge[1]]][look_up[edge[0]]] = 1.0
|
adj[look_up[edge[1]]][look_up[edge[0]]] = 1.0
|
||||||
# ScaleSimMat
|
# ScaleSimMat
|
||||||
return np.matrix(adj/np.sum(adj, axis=1))
|
return np.matrix(adj/np.sum(adj, axis=1))
|
||||||
|
'''
|
||||||
|
adj = self.g.get_adj_mat() #for isolated node row, normalize to [1/n, 1/n, ...]
|
||||||
|
return row_as_probdist(adj, dense_output=True, preserve_zeros=False)
|
||||||
|
|
||||||
def GetProbTranMat(self, Ak):
|
def GetProbTranMat(self, Ak):
|
||||||
probTranMat = np.log(Ak/np.tile(
|
probTranMat = np.log(Ak/np.tile(
|
||||||
|
@ -91,7 +91,7 @@ def parse_args():
|
|||||||
parser.add_argument('--Node2Vec-q', default=0.5, type=float,
|
parser.add_argument('--Node2Vec-q', default=0.5, type=float,
|
||||||
help='trade-off BFS and DFS; rid search [0.25; 0.50; 1; 2; 4]')
|
help='trade-off BFS and DFS; rid search [0.25; 0.50; 1; 2; 4]')
|
||||||
parser.add_argument('--GraRep-kstep', default=4, type=int,
|
parser.add_argument('--GraRep-kstep', default=4, type=int,
|
||||||
help='use k-step transition probability matrix')
|
help='use k-step transition probability matrix, error if dim%Kstep!=0')
|
||||||
parser.add_argument('--LINE-order', default=3, type=int,
|
parser.add_argument('--LINE-order', default=3, type=int,
|
||||||
help='choices of the order(s), 1st order, 2nd order, 1st+2nd order')
|
help='choices of the order(s), 1st order, 2nd order, 1st+2nd order')
|
||||||
parser.add_argument('--LINE-no-auto-save', action='store_true',
|
parser.add_argument('--LINE-no-auto-save', action='store_true',
|
||||||
|
Loading…
Reference in New Issue
Block a user