python实现计算顶点聚类系数顶点聚集系数clusteringcoefficient

更新时间:2023-05-30 12:17:35 阅读: 评论:0

python实现计算顶点聚类系数顶点聚集系数
clusteringcoefficient
计算每个结点的局部聚类系数
对于节点vi,找出其直接邻居结点集合Ni,计算Ni构成的图中的边数K,除以Ni集合可能的边数|Ni|*(|Ni|-1)/2(⽆向图)或|Ni|*(|Ni|-1)(有向图)
代码下载地址:
代码:
学硕国家线# encoding=utf-8
#求图结点的聚类系数以及平均聚类系数
ce_list = []
node_t = t()
edge_t = t()
吃什么食物补肾
node_list = []
edge_list2 = []
#求每个结点的平均聚类系数
def getCE(node,edgeList):
#找当前node的直接邻接点,存⼊node_t的集合中
for edge in edgeList:
if edge[0] == node:
node_t.add(edge[1])
elif edge[1] == node:
node_t.add(edge[0])
#找邻接点集合中的点所构成的边的数⽬
for edge in edgeList:
任时光if edge[0] in node_t and edge[1] in node_t:
s = edge[0]+edge[1]
edge_t.add(s)
neighbourNodeNum = len(node_t)  #邻接点结点个数
neighbouredgeNum = len(edge_t)  #邻接点构成的边的条数
print("neighbour node Num:", neighbourNodeNum)
print("neighbour edge Num:", neighbouredgeNum)
ceNum = 0
#求聚类系数的公式
if neighbourNodeNum > 1:
ceNum = 2*neighbouredgeNum/((neighbourNodeNum-1)*neighbourNodeNum) #⽆向图要乘2,有向图不需要乘2
ce_list.append(ceNum)
node_t.clear()烤鲫鱼
edge_t.clear()
def getAverageCE(ce_list):
财务预算管理制度total = 0
for ce in ce_list:
total += ce
return total/len(ce_list)
def main():
#从⽂件中读取边信息
with open('',encoding='utf-8') as f1:
edge_list = f1.readlines()
#格式化边信息,去掉其末尾的\n
for i in range(len(edge_list)):
spiltList = edge_list[i].replace('\n',"").split("", 1)
edge_list2.append(spiltList)
#读取结点信息,应该从⽂件中读取,但鉴于结点名称为0-4038,简便起见直接遍历
for i in range(4039):
奶酪焗饭
node_list.append(str(i))14岁身高
#对每个结点计算聚类系数
for node in node_list:
print(node)
getCE(node, edge_list2)
#输出每个结点的聚类系数print(ce_list)
thrown#输出平均聚类系数
print(getAverageCE(ce_list))
if__name__ == "__main__":
main()
数据格式:

本文发布于:2023-05-30 12:17:35,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/813376.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:结点   系数   聚类   计算
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图