近日做社交媒體用戶行為分析,需要展示用戶關係的結果。發現Pajek已經到5.0版了,幾年前版本還很低。於是下載下來用了一下。
據介紹,Pajek專門用來分析大型網絡,可以支持成百上千個結點的網絡。在Pajek中有兩種類型的網絡,體現了它對不同應用場景的支持。
一種是1-mode(一模網絡),其中每個頂點都允許與其他頂點連接。另一種是2-mode(二模網絡),主要用於具有從屬關係的網絡,比如人員和部門可以作為網絡的節點,這樣該網絡就有兩種節點。如此,看來,在用戶社交關係分析和可視化中,選擇1-mode就可以。
網絡數據文件
在我的分析任務中,用戶數據存儲於關係型資料庫,因此可以比較方便生成Pajek所需要的網絡數據文件。格式如下:
*Vertices 220(指定節點數)
1 "u1" (節點描述)
2 "u2"
3 "u3"
...
*Arcs (有向邊,構造用戶關係的有向圖)
1 2 1 (用戶1指向用戶2,相應的權重為1)
33 3 10
83 1 1
...
這些數據保存成文本文件,在Pajek中打開。然後直接選擇菜單「Draw」,可以看到所生成的圖,目前該軟體支持kamada-kawai、Reingo兩種能量型的布局算法。
在節點數量很大的情況下,網絡圖就不是太清楚,可以通過局部放大,比如在我的數據中,用戶83的連接關係很多,可以以此為中心放大顯示。
當然作為一個網絡分析工具,也提供了對最短路徑、關鍵路徑、網絡參數計算等的支持。以下是u1到u10提取出來的最短路徑。
除了有向圖之外,還支持無向圖,在定義網絡數據文件時稍有區別。如下(注意改為了Edges)
*Vertices 220(指定節點數)
1 "u1" (節點描述)
2 "u2"
3 "u3"
...
*Edges (無向圖)
1 2 (用戶1和用戶2之間存在連接)
33 3
83 1
...
可以進一步做些社區識別( 菜單:Network|partition|communities|Louvain),它使用了Louvain這個社區發現算法,源於文章(Fast unfolding of communities in large networks, 2008)。
從而,將整個關係網絡劃分為若干個連接關係比較強的區域,以下是劃分的結果。相同顏色的節點被劃分為屬於同一個群體。
除了上述介紹的功能,Pajek還有很多功能,包括網絡的剪枝、各種子網的提取、兩個網絡的運算等等。
網上可以很方便找到相應的下載網址和參考資料,也可以關注本公眾號,後臺回復pajek,可以獲得下載pajek使用手冊(資料來源於網絡)的網址。
作者編著的《網際網路大數據處理技術與應用》專著(清華大學出版社,2017)、同名公眾號,專注於大數據技術的相關科學和工程知識傳播,同時也為讀者提供一些拓展閱讀材料。本書中也談到了大數據可視化,本文也算是對書中這部分的一個拓展和補充。
關注後可閱讀以前推送的原創文章,部分如下。
PageRank算法及其收斂性解釋,從分糖果說起
金融/證券大數據的相關性分析
《網際網路大數據處理技術與應用》的相關教學資源
AlphaGo Zero來了,我們還需要大數據嗎?
點擊閱讀原文連結,查看圖書詳情信息(目錄、引言)。