视频链接:【图神经网络】GNN从入门到精通
参考资料:复杂网络特征与networkx实现


一、利用pandas作图

import numpy as np
import pandas as pd
import networkx as nxedges = 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')
  • 生成图
from_pandas_edgelist(df, source='source', target='target', edge_attr=None, create_using=None)Return a graph from Pandas DataFrame containing an edge list
  • G的展示nx.draw(G)

二、求图的基本知识

2.1 度

  • 无向图中,与节点v 相连的节点数量d(v)或 ki

  • 有向图中, 分 出度和入度,入度 其他节点指向节点v的个数 d i n ( v ) d_in(v) di​n(v)
    出度,节点v指向其他节点的个数

  • 网络平均度 D = a v g i , j d ( i , j ) D=avg_{i,j} d(i,j) D=avgi,j​d(i,j)

print(nx.degree(G))

out:[(0, 1), (1, 2), (4, 5), (2, 1), (3, 1), (6, 2), (7, 3), (5, 1), (8, 2), (9, 2)]

2.2 连通分量

print(list(nx.connected_components(G)))

out:[{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}]

2.3 图直径

  • 最短距离:两节点 v i v_i vi​和节点 v j v_j vj​经历边数最少的一条简单路径
nx.shortest_path(G)
  • 直径:任意两个节点距离的最大值 D = max ⁡ i , j d ( i j ) D=\max_{i,j}d(ij) D=maxi,j​d(ij)
print(nx.diameter(G))

out:4

  • 平均距离

2.4 度中心性

print('度中心性',nx.degree_centrality(G))

out:度中心性 {0: 0.1111111111111111, 1: 0.2222222222222222, 4: 0.5555555555555556, 2: 0.1111111111111111, 3: 0.1111111111111111, 6: 0.2222222222222222, 7: 0.3333333333333333, 5: 0.1111111111111111, 8: 0.2222222222222222, 9: 0.2222222222222222}

  • 节点 v i v_i vi​的度中心性: d ( v i ) / ( N − 1 ) d(v_i)/(N-1) d(vi​)/(N−1)
  • 网络G 含N个节点的 度中心: C D = ∑ I = 1 N [ C D ( V m a x ) − C D ( V i ) ] / H C_D=\sum_{I=1}^N [C_D(V_max)-C_D(V_i)] /H CD​=∑I=1N​[CD​(Vm​ax)−CD​(Vi​)]/H
    *
  • 度分布
Degree_distribution = nx.degree_histogram(G)

2.5 特征向量中心性

print('特征向量中心性',nx.eigenvector_centrality(G))

out:特征向量中心性 {0: 0.105811214865129, 1: 0.26822822377524, 4: 0.5741403289553503, 2: 0.22648750077754073, 3: 0.22648750077754073, 6: 0.26822822377524, 7: 0.4660017030178054, 5: 0.10581121486512898, 8: 0.30358469410769445, 9: 0.30358469410769445}

2.6 介数中心性

  • 介数
  • 介数分布
  • 介数中心性
print('betweenness',nx.betweenness_centrality((G)))

out:betweenness {0: 0.0, 1: 0.2222222222222222, 4: 0.861111111111111, 2: 0.0, 3: 0.0, 6: 0.2222222222222222, 7: 0.38888888888888884, 5: 0.0, 8: 0.0, 9: 0.0}

2.7 接近度中心性

# closeness
print('closeness',nx.closeness_centrality(G))

out:closeness {0: 0.3333333333333333, 1: 0.47368421052631576, 4: 0.6923076923076923, 2: 0.42857142857142855, 3: 0.42857142857142855, 6: 0.47368421052631576, 7: 0.5294117647058824, 5: 0.3333333333333333, 8: 0.375, 9: 0.375}

2.8 PageRan

# pagerank
print('pagerank',nx.pagerank(G))

out:pagerank {0: 0.060355785347628935, 1: 0.10672083674530218, 4: 0.2377489585500428, 2: 0.055417825677585866, 3: 0.055417825677585866, 6: 0.10672083674530217, 7: 0.13351185545449856, 5: 0.060355785347628935, 8: 0.09187514522721238, 9: 0.09187514522721238}

2.9 HITS

# HITS
print('HITS',nx.hits(G,tol=0.00001))

out:HITS ({0: 0.03714676345146127, 1: 0.09416945704005145, 4: 0.2015639552399654, 2: 0.07951530507800952, 3: 0.07951530507800952, 6: 0.09416945704005145, 7: 0.16360612693272353, 5: 0.03714676345146127, 8: 0.10658343334413334, 9: 0.10658343334413334}, {0: 0.037148174598460704, 1: 0.09416679027466031, 4: 0.20157075236690655, 2: 0.07951310912238051, 3: 0.07951310912238051, 6: 0.09416679027466031, 7: 0.16360344366482985, 5: 0.037148174598460704, 8: 0.10658482798863028, 9: 0.10658482798863028})

[GNN]笔记之图基本知识代码(一)相关推荐

  1. GNN笔记:图信号处理(Graph Signal Processing)

    1 图信号处理定义 图信号处理(Graph Signal Processing,以下简称 GSP)用来处理那些定义在图上的非规则域的信号.换句话说,就是处理图上定义的信号,但信号所在域是非规则的. 2 ...

  2. GNN 笔记:图上的傅里叶变换

    1 图拉普拉斯矩阵 图拉普拉斯矩阵可以定义为: L=D-W. 其中,D 为度矩阵,W 为考虑权值的邻接矩阵. 归一化后的拉普拉斯矩阵: 1.1 散度 散度(Divergence)是向量分析的一个向量算 ...

  3. GNN 笔记1 图的概念

    1 图的定义 上图中的邻接矩阵分别为 2 图的度 无向图的度就是,每个点和几个其他的点相连接,那么这个点的度就是几. 以上左图为例,点1的度为2,点4的度为3 有向图分为出度和入度,就是射出去和射进来 ...

  4. 集成电路版图学习笔记1----版图基本知识

    集成电路设计流程: Created with Raphaël 2.1.2设 计 方 案定 义 结 构 功能设计与仿真电路设计与仿真版图设计与仿真后 仿 真 流片与芯片测试大 规 模 生 产 由上图版图 ...

  5. 【图神经网络】图神经网络(GNN)学习笔记:图的基础理论

    图神经网络GNN学习笔记:图的基础理论 1. 图的概述 2.图的基本类型 2.1 有向图和无向图 2.2 非加权图与加权图 2.3 连通图与非连通图 2.4 二部图 2.5 邻居和度 2.6 子图和路 ...

  6. 【图神经网络】图神经网络(GNN)学习笔记:图分类

    图神经网络GNN学习笔记:图分类 1. 基于全局池化的图分类 2. 基于层次化池化的图分类 2.1 基于图坍缩的池化机制 1 图坍缩 2 DIFFPOOL 3. EigenPooling 2.2 基于 ...

  7. 腾讯优图——分布式知识蒸馏损失改善人脸识别困难样本(附论文代码)

    计算机视觉研究院专栏 作者:Edison_G ECCV 2020即将要开始,很多互联网络公司都有技术论文中标,腾讯优图就8篇入选,涵盖了目标跟踪.行人重识别.人脸识别等领域. 今天我们详细分析优图的& ...

  8. GDL学习笔记(一)——概要+图基本知识

    概要+图基本知识 为什么将数据表示为图结构 图上的特征学习 图特性与度量标准 节点的度 节点的邻居 定理 推论 连接性 Walk的定义 Trail的定义 Path的定义 定理 "连接组件&q ...

  9. 【GNN】AAAI2021 | 图神经网络研究进展解读

    AAAI 的英文全称是 Association for the Advance of Artificial Intelligence--美国人工智能协会.该协会是人工智能领域的主要学术组织之一,其主办 ...

最新文章

  1. 如何挑选靠谱的Java培训机构
  2. 常用数据类型(C#)
  3. linux使用技巧教程,你不知道的 Linux 使用技巧
  4. 为什么Spark能成为最火的大数据计算引擎?它是怎样工作的?
  5. Bubble——Typecho 极简风格响应式主题
  6. Computer:Todesk(远程控制软件)的简介、安装、使用方法之详细攻略
  7. Java程序性能优化——性能指标
  8. 虚幻AI蓝图基础笔记(万字整理)
  9. 如何树立正确的工作态度
  10. 阿里建站——通过阿里云平台搭建网站(阿里云+云市场+手动)
  11. xms java_java xms xmx xmn xss解释
  12. 思想的沉淀,精辟,杨澜如是说
  13. 前端智能化D2C效率提升50%,带你一睹为快
  14. 我像“小马过河”一样升级了我的开源系统
  15. 芝麻开门—念着咒语降服注册表(转)
  16. 整理常用iOS的第三方框架
  17. MySQL数据库——对Linux MySQL软件包的一些说明
  18. centos安装xfce
  19. 小程序后台服务被攻击
  20. Flash全屏功能测试

热门文章

  1. Windows IIS服务教程
  2. ble传输是断续的吗
  3. ffmpeg视频播放器专栏阅读说明
  4. Kdump机制介绍以及分享
  5. win7驱动程序未经签名可以使用吗_win7系统禁用驱动程序签名强制的详细操作
  6. 使用python爬取豆瓣
  7. 分享6个音乐音效素材库,你的BGM有着落了
  8. 原生的ajax判断用户名是否占用
  9. 汇编语言DEBUG命令||常用命令 详解:A,U,R,T,D,E,Q
  10. a76比a73强多少_实力称雄,Cortex A76架构性能大起底