图基本介绍

图基本介绍

参考:
https://www.bilibili.com/video/BV1HZ4y1B7hj?p=2&spm_id_from=pageDriver&vd_source=d64db78c8c1f9c3401720510fccc42a8

1、什么是图?

2、图的表示?

邻接矩阵以及特征矩阵

3、图的性质

  • 度 degree

    节点连接的边

  • 子图 subgraph

  • 连通图,连通分量

    对于一个无向图,如果任意的节点i能够通过一些边到达节点j ,则称之为连通图

  • 有向图连通性

  • 最短路径,图直径

  • 度中心性
    度中心性 = 1 n − 1 ( n 为节点个数 ) 度中心性= {1 \over n-1}(n为节点个数) 度中心性=n11(n为节点个数)

  • 特征向量中心性 Eigenvector Centrality
    A ∗ x = λ ∗ x A*x = \lambda*x Ax=λx

  • 中介中心性 Betweenness Centrality
    B e t w e e n n e s s = 经过该节点的最短路径 其余两两节点的最短路径 Betweenness={经过该节点的最短路径 \over 其余两两节点的最短路径} Betweenness=其余两两节点的最短路径经过该节点的最短路径

  • 连接中心性 Closeness
    C l o s e n e s s = n − 1 节点到其他节点最短路径之和 Closeness={n-1 \over 节点到其他节点最短路径之和} Closeness=节点到其他节点最短路径之和n1

  • PageRank(节点排序,一种网页排序算法)

  • HITS(节点排序,一种网页排序算法)

4、代码实现

pip install networkx
import numpy as np
import pandas as pd
import networkx as nx

edges = pd.DataFrame()  # 边
edges['sources'] = [1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 5] # 起始点
edges['target'] = [2, 4, 5, 3, 1, 2, 5, 1, 5, 1, 3, 4] # 目标点
edges['weights'] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] # 边的权重

# 构建图
G = nx.from_pandas_edgelist(edges, source='sources', target='target', edge_attr='weights')
# 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(nx.betweenness_centrality(G))
#cLoseness
print(nx.closeness_centrality(G))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值