Easygraph:全面高效的图分析与社会计算开源工具
前言
图是对事物之间关系的一种原生的表达,利用图可以深入直接地认识世界中的关联。社交网络、交易数据、知识图谱、交通运输、生物技术等都是图数据的典型应用。
社交网络是一种特殊的图数据,它建立在图网络的基础上,又遵循一定的社会学理论。
EasyGraph是复旦大学MSN小组开发的一款基于Python语言的图计算开源包,它是第一个包含全面的结构洞占据者探测方法的开源库,同时覆盖了图嵌入和其他一些传统的图计算方法。Easygraph补齐了现有的图分析开源库如igraph, NetworkX在社交网络领域的短板,同时利用混合编程和并行计算提高了运行效率
什么是结构洞理论
由于细化的工作分工,人们聚集到不同的群体中。在同一个群体中,人们的交流比跨群体的交流更密切,从而逐渐在不同社区之间形成术语障碍。在封闭网络中,人们可以以较低的成本获得更高可信度的信息。这些封闭的网络或社区可以促进内部交流和社区发展,并产生冗余和重叠的信息。
根据伯特提出的结构洞理论,充当这些社区的桥梁和中介的,就是结构洞占据者。结构洞占据者与社交网络的不同社区的联系增加了它在竞争领域的社会资本,而具有同质和重复信息的封闭网络不会带来这样的优势。这就是结构洞理论的核心。
结构洞的潜在价值在于信息效益和控制效益。结构洞占据者占据了社区之间独特的连接位置,从而可以访问多个非冗余信息源,获取高价值信息。在社会学研究中,社区中信息、想法和创新汇集的个体被称为意见领袖。结构洞占据者得益于互联社区的独特信息,拥有与意见领袖互动的优先权,从而发掘有利可图的机会。
基于社交网络分析,结构洞理论已经被开发出诸多应用场景。结构洞被用于企业人力资源管理,以及社交关系中高收益联系的建立。同时由于结构洞占据者占据了连接不同社区的关键结构位置,结构洞理论也被用于在传播信息方面最大化影响力。
由于结构洞体现了图的整体和局部结构,结构洞理论在不同的层面上都具有巨大的应用潜力
个体层面:分析个人行为和属性;预测用户情绪等
连接层面:链路预测;预测投资行为;分析社会关系等
图级层面:图分类,图同构和图分区等
全面的图网络分析工具

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

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

| 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)
文档:EasyGraph by FudanMSN (easy-graph.github.io)
通过视频教程快速安装并运行第一个样例:Tutorials - YouTube
Easygraph:全面高效的图分析与社会计算开源工具的更多相关文章
- 用 CPI 火焰图分析 Linux 性能问题
https://yq.aliyun.com/articles/465499 用 CPI 火焰图分析 Linux 性能问题 yangoliver 2018-02-11 16:05:53 浏览1076 ...
- 关于图算法 & 图分析的基础知识概览
网址:https://learning.oreilly.com/library/view/graph-algorithms-/9781492060116/ 你肯定没有读过这本书,因为这本书的发布日期是 ...
- 用 GraphScope 像 NetworkX 一样做图分析
NetworkX 是 Python 上最常用的图分析包,GraphScoep 兼容 NetworkX 接口.本文中我们将分享如何用 GraphScope 像 NetworkX 一样在(大)图上进行分析 ...
- 火焰图分析openresty性能瓶颈
注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...
- 《BI那点儿事》SSRS图表和仪表——雷达图分析三国超一流谋士、统帅数据(图文并茂)
雷达图分析三国超一流谋士.统帅数据,献给广大的三国爱好者们,希望喜欢三国的朋友一起讨论,加深对传奇三国时代的了解 建立数据环境: -- 抽取三国超一流谋士TOP 10数据 DECLARE @t1 TA ...
- 也许游戏 它P/N图分析
关于游戏的问题,更多的时候是使用P/N图分析 p n p n p n p n n n n n n n n n p n p n p n p n n n n n ...
- SpaceSyntax【空间句法】之DepthMapX学习:第四篇 凸多边形图分析[未完]
这一篇正式讲解分析类型中的第一个,凸多边形分析,流程图参照上一篇的. 博客园/B站/知乎/CSDN @秋意正寒(我觉得这一篇肯定很多盗图的,那么我在版头加个本篇地址吧) https://www.cnb ...
- 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
发布一个高效的JavaScript分析.压缩工具 JavaScript Analyser 先发一段脚本压缩示例,展示一下JSA语法压缩和优化功能. try { //xxxx(); } catch (e ...
- NLP(十二)依存句法分析的可视化及图分析
依存句法分析的效果虽然没有像分词.NER的效果来的好,但也有其使用价值,在日常的工作中,我们免不了要和其打交道.笔者这几天一直在想如何分析依存句法分析的结果,一个重要的方面便是其可视化和它的图分析 ...
- GitHub + jsDelivr + PicGo + Imagine 打造稳定快速、高效免费图床
GitHub + jsDelivr + PicGo + Imagine 打造稳定快速.高效免费图床 前言 为什么要使用图床呢? 因为在不同平台发布同一篇文章的时候,最一个痛苦的点就是,图片存储问题,各 ...
随机推荐
- Linux/UNIX Shell $PATH变量
Linux/UNIX的shell在执行命令时,会查找路径$PATH来录找命令. 1:$PATH是一个以冒号分隔的目录列表,执行命令时,会在列表中查找. 2:命令可以是SHELL脚本也可以是可执行文件, ...
- class类 和 react类组件
类的理解 1 // 创建一个person类 2 class Person { 3 /* */ 4 // 构造器方法 5 constructor(name, age) { 6 // this指向 =& ...
- CS144 计算机网络 Lab4:TCP Connection
前言 经过前面几个实验的铺垫,终于到了将他们组合起来的时候了.Lab4 将实现 TCP Connection 功能,内部含有 TCPReceiver 和 TCPSender,可以与 TCP 连接的另一 ...
- BugKu_never_give_up
if(!$_GET['id']) { header('Location: hello.php?id=1'); exit(); } $id=$_GET['id']; $a=$_GET['a']; $b= ...
- selenium控制文件下载位置
selenium控制文件下载位置 我们在自动化下载文件的时候势必存在一种需求: 通过chrome将文件保存到指定位置 1. google窗口实现 配置'prefs'将文件下载到指定位置, 并通过判 ...
- pngquant 在 Windows 上压缩带中文路径的 png 图片
pngquant 是一个优秀的 png 压缩工具,但是在 Windows 上不支持目录中带有 unicode 字符(例如中文)的文件.所以要用一个折中的办法(即标准输入)让 pngquant 压缩目录 ...
- 2021-11-27:给定一个数组arr,长度为N,做出一个结构,可以高效的做如下的查询: 1) int querySum(L,R) : 查询arr[L...R]上的累加和; 2) int query
2021-11-27:给定一个数组arr,长度为N,做出一个结构,可以高效的做如下的查询: int querySum(L,R) : 查询arr[L-R]上的累加和; int queryAim(L,R) ...
- 2021-11-06:3的幂。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n ==
2021-11-06:3的幂.给定一个整数,写一个函数来判断它是否是 3 的幂次方.如果是,返回 true :否则,返回 false .整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == ...
- Python从零到壹丨详解图像锐化Roberts、Prewitt算子实现边缘检测
摘要:图像锐化和边缘提取技术可以消除图像中的噪声,提取图像信息中用来表征图像的一些变量,为图像识别提供基础.本章主要介绍Robert算子.Prewitt算子.Sobel算子.Laplacian算子.S ...
- 「P2」试下1个半月能不能水出个毕设
0.目标 将上个 springboot 项目 + html 中的html用Vue来重写,也就是在原springboot项目中集成Vue 1.在界面上,将html改成vue的形式 1.1.原html & ...