当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。