2017-06-02 85 views
0
for i in range(0,len(G)): 
     for j in range(0,len(G[i])):   
      if i!=j: 
       init=0 
       for k in range(0,len(G[:,i])): 
        if G[k,i]==1: 
         row=k 
         cnt1=cnt1+1 
         for l in range(0,len(G[:,j])): 
          if G[l,j]==1: 
           col=l 
           cnt2=cnt2+1 
           init=init+R[row,col]  
       cnt = cnt1 + cnt2 
       S[i,j] = lam*C*init/cnt 

在這段代碼中,我試圖打印節點之間的相似性得分在graph.But的問題是,它不計算在近鄰properly.I試圖everything.Could你幫忙? Link- http://hanj.cs.illinois.edu/pdf/cikm09_pzhao.pdf 謝謝!Simrank實現(鄰計算)

回答

0
for i in range(max_iter): 

    for u, v in itertools.product(nodes,nodes): 
     if u is v: continue 

     if directed: 
      u_ns, v_ns = G.predecessors(u), G.predecessors(v) 
     else: 
      u_ns, v_ns = G.neighbors(u), G.neighbors(v) 

這是如何使用networkx庫計算鄰居。 note-G是從鄰接矩陣 創建的圖形對象,用於讀取庫的文檔