def ordinaryWalk(self):
tick = time.time()
alpha = self.param['alpha']
n = self.graph.shape[0]
c = self.Y.shape[1]
nf = self.param['normalize_factor']
#self.graph = self.graph + 3000 * sparse.eye(n,n)
Di = sparse.diags([np.sqrt(1 / (self.graph.sum(axis=0) + nf * np.ones(n))).getA1()], [0])
S = Di.dot(self.graph.dot(Di))
S_iter = (sparse.eye(n) - alpha * S).tocsc()
F = np.zeros((n,c))
for i in range(c):
F[:, i], info = slin.cg(S_iter, self.Y[:, i], tol=1e-12)
toc = time.time()
#print np.where(F > 0)
self.ElapsedTime = toc - tick
self.PredictedProbs = F
评论列表
文章目录