Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
Easygraph:全面高效的圖分析與社會計算開源工具
匿名網(wǎng)友發(fā)布于:2023-07-26 14:03:13
(侵權舉報)

 

前言

圖是對事物之間關系的一種原生的表達,利用圖可以深入直接地認識世界中的關聯(lián)。社交網(wǎng)絡、交易數(shù)據(jù)、知識圖譜、交通運輸、生物技術等都是圖數(shù)據(jù)的典型應用。
社交網(wǎng)絡是一種特殊的圖數(shù)據(jù),它建立在圖網(wǎng)絡的基礎上,又遵循一定的社會學理論。

EasyGraph是復旦大學MSN小組開發(fā)的一款基于Python語言的圖計算開源包,它是第一個包含全面的結(jié)構(gòu)洞占據(jù)者探測方法的開源庫,同時覆蓋了圖嵌入和其他一些傳統(tǒng)的圖計算方法。Easygraph補齊了現(xiàn)有的圖分析開源庫如igraph, NetworkX在社交網(wǎng)絡領域的短板,同時利用混合編程和并行計算提高了運行效率

 

什么是結(jié)構(gòu)洞理論

由于細化的工作分工,人們聚集到不同的群體中。在同一個群體中,人們的交流比跨群體的交流更密切,從而逐漸在不同社區(qū)之間形成術語障礙。在封閉網(wǎng)絡中,人們可以以較低的成本獲得更高可信度的信息。這些封閉的網(wǎng)絡或社區(qū)可以促進內(nèi)部交流和社區(qū)發(fā)展,并產(chǎn)生冗余和重疊的信息。

根據(jù)伯特提出的結(jié)構(gòu)洞理論,充當這些社區(qū)的橋梁和中介的,就是結(jié)構(gòu)洞占據(jù)者。結(jié)構(gòu)洞占據(jù)者與社交網(wǎng)絡的不同社區(qū)的聯(lián)系增加了它在競爭領域的社會資本,而具有同質(zhì)和重復信息的封閉網(wǎng)絡不會帶來這樣的優(yōu)勢。這就是結(jié)構(gòu)洞理論的核心。

結(jié)構(gòu)洞的潛在價值在于信息效益和控制效益。結(jié)構(gòu)洞占據(jù)者占據(jù)了社區(qū)之間獨特的連接位置,從而可以訪問多個非冗余信息源,獲取高價值信息。在社會學研究中,社區(qū)中信息、想法和創(chuàng)新匯集的個體被稱為意見領袖。結(jié)構(gòu)洞占據(jù)者得益于互聯(lián)社區(qū)的獨特信息,擁有與意見領袖互動的優(yōu)先權,從而發(fā)掘有利可圖的機會。

基于社交網(wǎng)絡分析,結(jié)構(gòu)洞理論已經(jīng)被開發(fā)出諸多應用場景。結(jié)構(gòu)洞被用于企業(yè)人力資源管理,以及社交關系中高收益聯(lián)系的建立。同時由于結(jié)構(gòu)洞占據(jù)者占據(jù)了連接不同社區(qū)的關鍵結(jié)構(gòu)位置,結(jié)構(gòu)洞理論也被用于在傳播信息方面最大化影響力。

由于結(jié)構(gòu)洞體現(xiàn)了圖的整體和局部結(jié)構(gòu),結(jié)構(gòu)洞理論在不同的層面上都具有巨大的應用潛力

個體層面:分析個人行為和屬性;預測用戶情緒等
連接層面:鏈路預測;預測投資行為;分析社會關系等
圖級層面:圖分類,圖同構(gòu)和圖分區(qū)等
 

全面的圖網(wǎng)絡分析工具

 

 Easygraph:全面高效的圖分析與社會計算開源工具 圖1

 

Easygraph的架構(gòu)包含:

圖的輸入輸出

圖的可視化:利用結(jié)構(gòu)洞占據(jù)者標記,CDF圖和節(jié)點定位對復雜網(wǎng)絡進行完整呈現(xiàn)

 

 Easygraph:全面高效的圖分析與社會計算開源工具 圖2

 

 karate club數(shù)據(jù)集的結(jié)構(gòu)洞占據(jù)者標記 |

 

 Easygraph:全面高效的圖分析與社會計算開源工具  圖3

 

karate club數(shù)據(jù)集CDF圖 |

 

圖分析方面,Easygraph覆蓋了圖表示學習,經(jīng)典網(wǎng)絡算法和結(jié)構(gòu)洞占據(jù)者檢測方法:

圖表示學習 :DeepWalk,Need2Vee,LINE,SDNE等
社區(qū)檢測,中心性,Component,Clustering等方法
Easygraph集成了全面的結(jié)構(gòu)洞占據(jù)者探測方法,包含:
基于信息流的HIS, MaxD,HAM,NOBE,maxBlock等算法
基于網(wǎng)絡中心性的WeakTie-Local,WeakTieBi,ICC,BICC,Ap_Greedy等算法
基于此架構(gòu),Easygraph能夠在生物,交通,化學,社會,生態(tài)等眾多領域的圖數(shù)據(jù)分析中發(fā)揮應用價值

 

易用性和運行效率

Easygraph注重API的易用性和極低學習成本
以下是一個以6行python代碼實現(xiàn)對圖數(shù)據(jù)進行結(jié)構(gòu)洞占據(jù)者分析并可視化的示例

 

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)

轉(zhuǎn)載自:https://www.cnblogs.com/pepparan/p/17574941.html