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

 

前言

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

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

 

什么是結構洞理論

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

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

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

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

由于結構洞體現了圖的整體和局部結構,結構洞理論在不同的層面上都具有巨大的應用潛力

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

全面的圖網絡分析工具

 

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

 

Easygraph的架構包含:

圖的輸入輸出

圖的可視化:利用結構洞占據者標記,CDF圖和節(jié)點定位對復雜網絡進行完整呈現

 

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

 

 karate club數據集的結構洞占據者標記 |

 

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

 

karate club數據集CDF圖 |

 

圖分析方面,Easygraph覆蓋了圖表示學習,經典網絡算法和結構洞占據者檢測方法:

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

 

易用性和運行效率

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