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 打造稳定快速.高效免费图床 前言 为什么要使用图床呢? 因为在不同平台发布同一篇文章的时候,最一个痛苦的点就是,图片存储问题,各 ... 
随机推荐
- docker的安装(linux、centos)
			环境:centos7 1.先确定linux是否是centos7 cat /etc/redhat-release 2.如果自己的linux上之前有安装docker,先卸载.如果没有,则直接跳过这一步. ... 
- vue-cli3构建和发布 实现分环境打包步骤(给不同的环境配置相对应的打包命令)
			https://panjiachen.github.io/vue-element-admin-site/zh/guide/essentials/deploy.html#%E6%9E%84%E5%BB% ... 
- 一文彻底搞懂ZAB算法,看这篇就够了!!!
			最近需要设计一个分布式系统,需要一个中间件来存储共享的信息,来保证多个系统之间的数据一致性,调研了两个主流框架Zookeeper和ETCD,发现都能满足我们的系统需求.其中ETCD是K8s中采用的分布 ... 
- flink之Sink to MySQL和Redis
			前言 下面这篇文章是使用Flink的Sink 写出数据到Redis和MySQL Flink之Sink写入Redis和MySQL Flink需要添加Sink的时候,需要自己去添加写Sink,我们可以实现 ... 
- 案例分享-full gc导致k8s pod重启
			在之前的记一次k8s pod频繁重启的优化之旅中分享过对于pod频繁重启的一些案例,最近又遇到一例,继续分享出来希望能给大家带来些许收获. 问题现象 报警群里突然显示某pod频繁重启,我随即上去查看日 ... 
- java中各引用类型的生存时间
			引用类型由上往下一次减弱: 强引用:Object obj=new Object(),无论什么情况下,只要强引用关系还存在,就不会回收被引用的对象. 软引用:像系统中缓存这些,在系统即将报内存溢出异常时 ... 
- 2020-12-09:TCP中,慢启动是什么?
			福哥答案2020-12-09: 简单回答:乘法增大. 中级回答:cwnd拥塞窗口.rwnd接收窗口.MSS最大报文段长度.ssthresh慢开始门限.使用慢开始算法后,每经过一个传输轮次(即往返时延R ... 
- vue全家桶进阶之路7:Vue的第一个程序
			<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ... 
- pywin32和wmi的安装和测试
			E:\pyAPP\Madking\MadKingClient>python bin\NedStark.py collect_dataE:\pyAPP\Madking\MadKingClientT ... 
- vue中嵌入MP4 只有声音没图像
			最近一个项目需要在页面嵌入一段视频,当然首选iframe了,直接嵌入了youku的视频,没问题,我想ok了.于是将url替换为本地的MP4发现只有声音没有任何图片,奇怪了,我首先想到是不是vue项目使 ... 
