Python知识分享网 - 专业的Python学习网站 学Python,上Python222
Easygraph:全面高效的图分析与社会计算开源工具
匿名网友发布于:2023-07-26 14:03:13
(侵权举报)

 

前言

图是对事物之间关系的一种原生的表达,利用图可以深入直接地认识世界中的关联。社交网络、交易数据、知识图谱、交通运输、生物技术等都是图数据的典型应用。
社交网络是一种特殊的图数据,它建立在图网络的基础上,又遵循一定的社会学理论。

EasyGraph是复旦大学MSN小组开发的一款基于Python语言的图计算开源包,它是第一个包含全面的结构洞占据者探测方法的开源库,同时覆盖了图嵌入和其他一些传统的图计算方法。Easygraph补齐了现有的图分析开源库如igraph, NetworkX在社交网络领域的短板,同时利用混合编程和并行计算提高了运行效率

 

什么是结构洞理论

由于细化的工作分工,人们聚集到不同的群体中。在同一个群体中,人们的交流比跨群体的交流更密切,从而逐渐在不同社区之间形成术语障碍。在封闭网络中,人们可以以较低的成本获得更高可信度的信息。这些封闭的网络或社区可以促进内部交流和社区发展,并产生冗余和重叠的信息。

根据伯特提出的结构洞理论,充当这些社区的桥梁和中介的,就是结构洞占据者。结构洞占据者与社交网络的不同社区的联系增加了它在竞争领域的社会资本,而具有同质和重复信息的封闭网络不会带来这样的优势。这就是结构洞理论的核心。

结构洞的潜在价值在于信息效益和控制效益。结构洞占据者占据了社区之间独特的连接位置,从而可以访问多个非冗余信息源,获取高价值信息。在社会学研究中,社区中信息、想法和创新汇集的个体被称为意见领袖。结构洞占据者得益于互联社区的独特信息,拥有与意见领袖互动的优先权,从而发掘有利可图的机会。

基于社交网络分析,结构洞理论已经被开发出诸多应用场景。结构洞被用于企业人力资源管理,以及社交关系中高收益联系的建立。同时由于结构洞占据者占据了连接不同社区的关键结构位置,结构洞理论也被用于在传播信息方面最大化影响力。

由于结构洞体现了图的整体和局部结构,结构洞理论在不同的层面上都具有巨大的应用潜力

个体层面:分析个人行为和属性;预测用户情绪等
连接层面:链路预测;预测投资行为;分析社会关系等
图级层面:图分类,图同构和图分区等
 

全面的图网络分析工具

 

 Easygraph:全面高效的图分析与社会计算开源工具 图1

 

Easygraph的架构包含:

图的输入输出

图的可视化:利用结构洞占据者标记,CDF图和节点定位对复杂网络进行完整呈现

 

 Easygraph:全面高效的图分析与社会计算开源工具 图2

 

 karate club数据集的结构洞占据者标记 |

 

 Easygraph:全面高效的图分析与社会计算开源工具  图3

 

karate club数据集CDF图 |

 

图分析方面,Easygraph覆盖了图表示学习,经典网络算法和结构洞占据者检测方法:

图表示学习 :DeepWalk,Need2Vee,LINE,SDNE等
社区检测,中心性,Component,Clustering等方法
Easygraph集成了全面的结构洞占据者探测方法,包含:
基于信息流的HIS, MaxD,HAM,NOBE,maxBlock等算法
基于网络中心性的WeakTie-Local,WeakTieBi,ICC,BICC,Ap_Greedy等算法
基于此架构,Easygraph能够在生物,交通,化学,社会,生态等众多领域的图数据分析中发挥应用价值

 

易用性和运行效率

Easygraph注重API的易用性和极低学习成本
以下是一个以6行python代码实现对图数据进行结构洞占据者分析并可视化的示例

 

from easygraph.datasets import get_graph_karateclub
import easygraph as eg
G = get_graph_karateclub()
# Calculate five shs(Structural Hole Spanners) in G
shs = eg.common_greedy(G, 5)
# Draw the Graph, and the shs is marked by red star
eg.draw_SHS_center(G, shs)
# Draw CDF curves of "Number of Followers" of SH spanners and ordinary users in G.
eg.plot_Followers(G, shs)

 

 

深入了解Easygraph

 

项目地址:easy-graph/Easy-Graph: EasyGraph is an open source graph processing library, which covers advanced graph processing methods in structural hole spanners detection, graph embedding and several classic methods. (github.com)

转载自:https://www.cnblogs.com/pepparan/p/17574941.html