xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 3KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: Python
  • 標簽: python;GN??

資源簡介

利用python編寫的GN算法,可發現網絡中的社團,本算法采用模塊化系數作為評價標準,具體可以參考博客的有關內容

資源截圖

代碼片段和文件信息

#coding:utf-8
import?networkx?as?nx
import?math
import?csv
import?random?as?rand
import?sys
import?matplotlib.pyplot?as?plt

def?buildG(G?file_?delimiter_):
????reader?=?csv.reader(open(file_)?delimiter=delimiter_)
????for?line?in?reader:
????????G.add_edge(int(line[0])int(line[1]))

def?CmtyStep(G):
????init_number_comp?=?nx.number_connected_components(G)
????number_comp?=?init_number_comp
????while?number_comp?<=?init_number_comp:
????????bw?=?nx.edge_betweenness_centrality(G)#計算所有邊的邊介數中心性
????????if?bw.values()?==?[]:
????????????break
????????else:
????????????max_?=?max(bw.values())#將邊介數中心性最大的值賦給max_
????????for?k?v?in?bw.iteritems():#刪除邊介數中心性的值最大的邊
????????????if?float(v)?==?max_:
????????????????G.remove_edge(k[0]k[1])
????????number_comp?=?nx.number_connected_components(G)#計算新的社團數量

def?GetModularity(G?deg_?m_):
????New_A?=?nx.adj_matrix(G)#建立一個表示邊的鄰接矩陣
????New_deg?=?{}
????New_deg?=?UpdateDeg(New_A?G.nodes())
????#計算Q值
????comps?=?nx.connected_components(G)#建立一個組成的列表?
????print?‘Number?of?communities?in?decomposed?G:?%d‘?%?nx.number_connected_components(G)
????Mod?=?0#設定社團劃分的模塊化系數并設初始值為0
????for?c?in?comps:
????????AVW?=?0#兩條邊在鄰接矩陣中的值
????????K?=?0#兩條邊的度值
????????for?u?in?c:
????????????AVW?+=?New_deg[u]
????????????K?+=?deg_[u]
????????Mod?+=?(?float(AVW)?-?float(K*K)/float(2*m_)?)#計算出Q值公式累加符號后的值
????Mod?=?Mod/float(2*m_)#計算出模塊化Q值
????return?Mod

def?UpdateDeg(A?nod

評論

共有 條評論

相關資源