从原始数据一步步得到合作网络之后,需要计算一些网络指标才能的到一些有意义的分析结论。
networkx是python中常用的社会网络分析包,里面支持各种图以及非常多指标计算函数。
官网:
https://networkx.org
中文网站:
https://www.osgeo.cn/networkx/index.html
接下来是由合作网络中的边作为原始数据,计算各种网络指标的一个简单示例。
包括:
生成网络图、计算指标、提取计算结果、存储
五个基本步骤。有更多、更复杂的需求也都可以在这个框架基础上进行二次开发。
edges = [['a','b',2],
['a','c',1],
['a','d',2],
['b','d',3],
['c','d',2]]
G = nx.Graph()
G.add_weighted_edges_from(edges)
centrality = [nx.degree_centrality(G),
nx.closeness_centrality(G),
nx.betweenness_centrality(G),
nx.clustering(G),
nx.eigenvector_centrality(G)]
average_shortest_path = nx.average_shortest_path_length(G, weight='weight')
results = []
nodes = G.nodes()
for node in nodes:
results.append([node,
centrality[0][node],
centrality[1][node],
centrality[2][node],
centrality[3][node],
centrality[4][node]])
with open("./test.csv","w",encoding="UTF-8",newline="") as csvfile: writer = csv.writer(csvfile)
writer.writerow(['node','degree','closeness','betweenness','clustering','eigenvector'])
writer.writerows(results)
writer.writerow(['average_shortest_path={}'.format(average_shortest_path)])
shortest_path()返回最短路径
shortest_path_length()返回最短路径长度
shortest_path = dict(nx.shortest_path(G, weight='weight'))
shortest_path_length = dict(nx.shortest_path_length(G, weight='weight'))
print(shortest_path,'\n',shortest_path_length)
shortest_path:
{'a': {'a': ['a'], 'b': ['a', 'b'], 'c': ['a', 'c'], 'd': ['a', 'd']}, 'b': {'b': ['b'], 'a': ['b', 'a'], 'd': ['b', 'd'], 'c': ['b', 'a', 'c']}, 'c': {'c': ['c'], 'a': ['c', 'a'], 'd': ['c', 'd'], 'b': ['c', 'a', 'b']}, 'd': {'d': ['d'], 'a': ['d', 'a'], 'b': ['d', 'b'], 'c': ['d', 'c']}}
shortest_path_length:
{'a': {'a': 0, 'c': 1, 'b': 2, 'd': 2}, 'b': {'b': 0, 'a': 2, 'd': 3, 'c': 3}, 'c': {'c': 0, 'a': 1, 'd': 2, 'b': 3}, 'd': {'d': 0, 'a': 2, 'c': 2, 'b': 3}}
从原始数据一步步得到合作网络之后,需要计算一些网络指标才能的到一些有意义的分析结论。networkx是python中常用的社会网络分析包,里面支持各种图以及非常多指标计算函数。官网:https://networkx.org中文网站:https://www.osgeo.cn/networkx/index.html案例接下来是由合作网络中的边作为原始数据,计算各种网络指标的一个简单示例。包括:生成网络图、计算指标、提取计算结果、存储五个基本步骤。有更多、更复杂的需求也都可以在这个框架基础上进行二次开
好的,我会严格按照您提供的要求和约束,以《【AI大
数据计算原理与代码实例讲解】图
数据库》为题撰写一篇8000字以上的技术博客文章。以下是文章正文:
【AI大
数据计算原理与代码实例讲解】图
数据库
关键词:图
数据库,图
计算,大
数据,AI,Neo4j,Gremlin,Cypher
1 社会网络分析经典文献
1.1 《Network Analysis in the Social Science》
这篇文章于2009年发表在《Science》,详细了地介绍了如何利用社会网络解决实际问题。
1.2《.一国农产品贸易网络特征及其对全球价值链分工的影响——基于社会网络分析视角》1
该文对农产品贸易网络特征及其全球价值链冯影响进行了分析。社会网络分析很适合分析关系型数据。
[1]马述忠,任婉婉,吴国杰.一国农产品贸易网络特征及其对全球价值链分工的影响——基于社会网络分析视角[J].管理世界,2
去年和师兄一起做社交
网络分析的时候发现了
networkx这个
python工具包,这个工具包对于图
数据的
我们对Markdown编辑器
进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
全新的界面设计 ,将会带来全新的写作体验;
在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式
进行展示;
增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
全新的 KaTeX数学公式 语法;
一个具体的
网络可抽象为一个由节点(vertex或node) 集合V和边(edge)集合E组成的图G = (V, E),节点数 记为n = |V|,边数记为m = |E|。
衡量
指标
度(degree)
密度(density)
团(clique)
度中心性(degree centrali...
分析社交网络的首要方法是衡量网络中各节点的影响力和重要性。换句话说,我们要求的是,在社会网络中,谁是中心角色(具有影响力的用户)
在社会网络拓扑图中一般认为节点中连接边的数目(入度或出度)越多,该点在网络中便占据重要地位,当然这只是最简单的一种度量情况
下面简单的介绍下几种中心性的度量...
1.1图论基本概念
一个图G = (V, E)由一些点及点之间的连线(称为边)构成,V、E分别计G的点集合和边集合。在图的概念中,点的空间位置,边的区直长短都无关紧要,重要的是其中有几个点以及那些点之间有变相连。
图1:图示例
Graph分类
Graph:指无向图(undirected Graph),即忽略了两节点间边的方向。
DiGraph:指有向图(directed Graph),即考虑了边的有向性。
MultiGraph:指多重无向图,即两个结点之间的边数多于一条,又允
利用networkx计算社会网络中的各指标,包括中介中心度,邻近中心度、和度中心度。代码都是参考附录中的参考链接,经过修改之后包含数据的导入、建网络、画图、计算中心性指标,并且讲计算的中心性指标数据导出到excel表中。复杂的代码基本删除了,就不一一介绍了,直接附代码。
一、数据准备
节点表导入了csv文件(node test.csv)
边表导入了txt文件(2007 edge.txt)
二、导入csv、txt文件
代码如下:
import csv
with open('node test.cs
为方便数据和程序文件的移动,一般采用相对路径,可以使用“…/”的形式,但建议使用os.getcwd获取当前程序路径,进行路径拼接
origin_path = os.getcwd()
# 获取当前文件夹下所有的文件的
一、中心性分析——权力的量化研究
目的:在什么意义上说一个行动者有权力?一个子群体有权力?
指标:点或群体的中心度(centrality)和网络的中心势(centralization)
“中心性”是社会网络分析的重点之一。个人或组织在其社会网络中具有怎样的权力,或者说居于怎样的中心地位,这一思想是社会网络分析者最早探讨的内容之一。个体的中心度(Centrality)测量个体