使用networkx常用函数分析连接图
作者:互联网
使用networkx常用函数分析图
1. Connected components 连通图
连通图内任意两点之间都存在path
由此函数可以得到一个components的列表
nx.connected_components(G)
Q:如何得到一个图最大的component?
#构建一个generator
def connected_component_subgraphs(G):
for c in nx.connected_components(G):
yield G.subgraph(c)
largest_size=0
largest_graph = None
for g in connected_component_subgraphs(G):
if len(g) > largest_size:
largest_size = len(g)
largest_graph = g
nx.draw(largest_graph)
2. Clustering 聚类
如上图,nx.clustering()
可以返回每个顶点及其聚类系数组成的字典
聚类系数算法为:周围相邻顶点之间实际边数/可能存在的最大边数
如上图顶点1,与其相邻的是 3,0,实际边数:1,可能存在边数:1,聚类系数:1/1=1
如上图顶点0,与其相邻的是1,2,3,实际边数:2.可能存在边数:3*2/2 = 3,聚类系数:2/3=0.666666
3. Centrality
Closeness centrality
数字越大说明这个顶点与其他点联系的越紧密
Betweeness centrality
图上任意两点间都存在一或多条最短路径,经过某顶点的最短路径越多,其betweeness connectivity越大
如上图,共有最短路径3*4=12条,两条经过点3,0,无经过1,2
4. Communitivity
是一个形容两点之间关系的变量,两点间路径数量越多,communitivity越高
5. 其他features
eccentricity偏心率
图中顶点到其他顶点的最大距离
Diameter 直径
图中所有顶点间的最短路径中,最长的那条
Periphery 周长
连接直径所对应之最短路径的顶点
Center 中心
是一个集合,集合内元素为,到各个顶点 距离最短的顶点们
标签:函数,largest,nx,如上图,networkx,顶点,边数,连接,聚类 来源: https://blog.csdn.net/yf_Li12/article/details/116084476