當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python NetworkX spectral_graph_forge用法及代碼示例


本文簡要介紹 networkx.generators.spectral_graph_forge.spectral_graph_forge 的用法。

用法:

spectral_graph_forge(G, alpha, transformation='identity', seed=None)

返回一個隨機簡單圖,其頻譜類似於 G

該算法稱為 Spectral Graph Forge (SGF),計算給定圖鄰接矩陣的特征向量,過濾它們並構建具有相似特征結構的隨機圖。 SGF 已被證明對於合成現實的社交網絡特別有用,它也可用於匿名化圖形敏感數據。

參數

G圖形
alpha浮點數

表示要考慮的 G 的特征向量百分比的比率,值在 [0,1] 中。

transformation字符串,可選

表示預期的矩陣線性變換,可能的值為‘identity’和‘modularity’

seed整數、random_state 或無(默認)

numpy 隨機數生成狀態的指示符。請參閱隨機性。

返回

H圖形

具有與輸入圖相似的特征向量結構的圖。

拋出

NetworkXError

如果轉換的值不同於‘identity’或‘modularity’

注意

Spectral Graph Forge (SGF) 生成一個隨機的簡單圖,類似於給定圖的全局屬性。它利用由 alpha 精度參數驅動的關聯鄰接矩陣的低秩近似。 SGF 保留輸入圖的節點數量及其順序。這樣,輸出圖的節點類似於輸入圖的屬性,並且可以直接映射屬性。

它考慮了可以選擇轉換為其他對稱實矩陣的圖鄰接矩陣(當前轉換選項包括 identitymodularity )。 modularity 轉換,在紐曼模塊化矩陣的意義上允許關注圖的社區結構相關屬性。

SGF 應用低秩近似,其固定秩是根據輸入圖鄰接矩陣維度的比率 alpha 計算的。此步驟對輸入特征向量執行類似於電信中常見的低通濾波的濾波。

過濾後的值(截斷後)用作伯努利采樣的輸入,用於構建隨機鄰接矩陣。

參考

1

L. Baldesi、C. T. Butts、A. Markopoulou,“頻譜圖鍛造:圖生成目標模塊化”,IEEE Infocom,'18。 https://arxiv.org/abs/1801.01715

2

M. Newman,“網絡:介紹”,牛津大學出版社,2010

例子

>>> G = nx.karate_club_graph()
>>> H = nx.spectral_graph_forge(G, 0.3)
>>>

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.generators.spectral_graph_forge.spectral_graph_forge。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。