lixiaan
  1. 图的表示   邻接矩阵,节点之间有连接值为1,否则0
  2. 图的特性
    1. 度   无向图:节点连接的边数;有向图: 出边数为出度,入边数为入度。
    2. 子图 由图的节点集的子集以及边集的子集构成的图 
    3. 连通分量    连通图本身为其唯一连通分量,非连通无向图有多个连通分量。
    4. 连通图    强连通图:任意两个点之间相互可达; 弱连通图:至少一对节点不满足单向连通,而去掉边的方向后是连通图。
    5. 最短路径    两个节点之间的可达经过的最少边数。
    6. 图直径    图中任意两两节点的最短路径的最大值。
  3. 结构属性
    1. 度中心性   

       

    2. 特征向量中心性    邻接矩阵最大特征值所对应的特征向量
    3. 中介中心性    

    4. 连接中心性

       

    5. PageRank    节点PR为指向它的节点的PR值之和,边PR为该节点PR的平均。
    6. Hits(hub、authority)    节点hub值为它所指向的节点的authority值之和,节点authority值为指向它的节点的hub值之和。
  4. 代码
    import numpy as np
    import pandas as pd
    import networkx as nx
    
    edges = pd.DataFrame()
    edges[\'sources\'] = [0,1,2,3,4,4,6,7,7,9,1,4,4,4,6,7,5,8,9,8]
    edges[\'targets\'] = [1,4,4,4,6,7,5,8,9,8,0,1,2,3,4,4,6,7,7,9]
    #edges[\'weights\'] = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
    
    G = nx.from_pandas_edgelist(edges, source=\'sources\',target=\'targets\')
    # degree
    print(nx.degree(G))
    # 连通分量
    print(list(nx.connected_components(G)))
    # 图直径
    print(nx.diameter(G))
    # 度中心性
    print(\'度中心性\',nx.degree_centrality(G))
    # 特征向量中心性
    print(\'特征向量中心性\',nx.eigenvector_centrality(G))
    # betweenness
    print(\'betweenness\',nx.betweenness_centrality((G)))
    # closeness
    print(\'closeness\',nx.closeness_centrality(G))
    # pagerank
    print(\'pagerank\',nx.pagerank(G))
    # HITS
    print(\'HITS\',nx.hits(G,tol=0.00001))

     

 

分类:

技术点:

相关文章:

  • 2021-12-12
  • 2021-06-28
  • 2021-10-07
  • 2022-12-23
  • 2022-01-05
  • 2021-06-29
  • 2021-10-27
猜你喜欢
  • 2021-05-20
  • 2022-12-23
  • 2021-09-22
  • 2021-08-30
  • 2021-08-13
  • 2021-07-12
相关资源
相似解决方案