使用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 聚类

使用networkx常用函数分析连接图如上图,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

使用networkx常用函数分析连接图数字越大说明这个顶点与其他点联系的越紧密

Betweeness centrality

使用networkx常用函数分析连接图图上任意两点间都存在一或多条最短路径,经过某顶点的最短路径越多,其betweeness connectivity越大
如上图,共有最短路径3*4=12条,两条经过点3,0,无经过1,2

4. Communitivity

是一个形容两点之间关系的变量,两点间路径数量越多,communitivity越高

5. 其他features

eccentricity偏心率

图中顶点到其他顶点的最大距离
使用networkx常用函数分析连接图

Diameter 直径

图中所有顶点间的最短路径中,最长的那条

Periphery 周长

连接直径所对应之最短路径的顶点

Center 中心

是一个集合,集合内元素为,到各个顶点 距离最短的顶点们

上一篇:图神经网络-图与图学习笔记-2


下一篇:python dataframe\距离矩阵 画图。。。