关于图形工具中嵌套块模型的基本问题

2024-01-21

非常简短地提出两到三个基本问题minimize_nested_blockmodel_dl https://graph-tool.skewed.de/static/doc/inference.html#graph_tool.inference.minimize_nested_blockmodel_dl函数于graph-tool library https://graph-tool.skewed.de/。有没有办法找出哪个顶点落在哪个块上?换句话说,从每个块中提取一个列表,其中包含其顶点的标签。

对于网络理论的业余爱好者来说,分层可视化相当难以理解,例如绘制的具有定向边缘的正方形是否意味着暗示所考虑的两个块之间的底层边缘的主方向?这些块使用不同的颜色很好地显示,但在概念层面上,哪些类型的图案或边/顶点属性隐藏在顶点的块分类背后?换句话说,当两个顶点在同一个块中时,我能说它们的共同属性是什么?


关于你的第一个问题,这是相当简单的:minimize_nested_blockmodel_dl()函数返回一个NestedBlockState object:

 g = collection.data["football"]
 state = minimize_nested_blockmodel_dl(g)

您可以通过检查层次结构的第一层来查询节点的组成员身份:

 lstate = state.levels[0]

这是一个BlockState对象,我们通过该对象获取组成员身份get_blocks() method:

 b = lstate.get_blocks()
 print(b[30])  # prints the group membership of node 30

关于第二个问题,随机块模型假设属于同一组的节点具有相同的连接到网络其余部分的概率。因此,通过上述函数分类到同一组的节点具有相似的连接模式。例如,如果我们查看足球网络的适合度:

state.draw(output="football.png")

我们看到属于同一组的节点往往与同一组的其他节点有更多的连接——一个典型的例子群落结构。然而,这只是随机块模型可以揭示的众多可能性之一。其他拓扑模式包括核心-外围组织、二分性等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于图形工具中嵌套块模型的基本问题 的相关文章

随机推荐