未文档化
模块 | adjacency |
无模块文档字符串;已记录 5/5 个函数 |
软件包 | app |
igraph 的用户界面 |
模块 | automorphisms |
无模块文档字符串;已记录 2/2 个函数 |
模块 | basic |
无模块文档字符串;已记录 8/8 个函数 |
模块 | bipartite |
无模块文档字符串;已记录 3/3 个函数 |
模块 | clustering |
与图聚类相关的类。 |
模块 | community |
无模块文档字符串;已记录 13/13 个函数 |
模块 | configuration |
igraph 的配置框架。 |
模块 | cut |
表示图上的切割和流的类。 |
模块 | datatypes |
额外的辅助数据类型 |
软件包 | drawing |
igraph 的绘图和制图例程。 |
模块 | formula |
igraph.Graph.Formula() 的实现。 |
软件包 | io |
未文档化 |
模块 | layout |
igraph 库中与布局相关的代码。 |
模块 | matching |
表示图上的匹配的类。 |
软件包 | operators |
并集、不相交并集和交集运算符的实现。 |
软件包 | remote |
帮助 igraph 与远程应用程序通信的类。 |
模块 | seq |
无模块文档字符串;已记录 1/2 个函数 |
模块 | sparse |
Python 级别的稀疏矩阵操作实现。 |
模块 | statistics |
igraph 中的统计相关内容。 |
模块 | structural |
无模块文档字符串;已记录 5/5 个函数 |
模块 | summary |
图的摘要表示。 |
模块 | utils |
无法归类到其他地方的实用函数。 |
模块 | version |
未文档化 |
模块 | _igraph |
igraph 库的底层 Python 接口。不应直接使用。 |
来自 __init__.py
类 |
|
表示 ARPACK 模块参数的类。 |
类 |
|
igraph BFS 迭代器对象 |
类 |
|
表示任意有序集合聚类的类。 |
类 |
|
图的内聚块结构。 |
类 |
|
表示 igraph 配置细节的类。 |
类 |
|
表示任意有序集合覆盖的类。 |
类 |
|
给定图的一个切割。 |
类 |
|
某个数据集的层次聚类(树状图)。 |
类 |
|
igraph DFS 迭代器对象 |
类 |
|
图的对普查。 |
类 |
|
表示图中单个边的类。 |
类 |
|
表示图中边序列的类。 |
类 |
|
给定图的一个流。 |
类 |
|
通用图。 |
类 |
|
图的底层表示。 |
类 |
|
未文档化 |
类 |
|
图中顶点的匹配。 |
类 |
|
图的三元组普查。 |
类 |
|
一个类似字典的类,可用于为名称(例如,顶点名称)分配唯一ID。 |
类 |
|
表示图中单个顶点的类。 |
类 |
|
图的顶点集的聚类。 |
类 |
|
图的顶点集的覆盖。 |
类 |
|
图的顶点集层次聚类产生的树状图。 |
类 |
|
表示图中顶点序列的类。 |
函数 | community |
未文档化 |
函数 | compare |
使用各种距离度量比较两个社区结构。 |
函数 | convex |
计算给定点集的凸包。 |
函数 | get |
返回包含 igraph 的 Python 接口的 C API 头文件的文件夹。 |
函数 | is |
返回两个整数序列是否可以是一个二分图的度序列。 |
函数 | is |
自 0.9 版本起弃用,推荐使用 is_graphical() 。 |
函数 | is |
返回一个度列表是否可以是某个图的度序列,带或不带多重边和自环边,具体取决于其余参数中允许的边类型。 |
函数 | is |
自 0.9 版本起弃用,推荐使用 is_graphical() 。 |
函数 | read |
从给定文件名加载图。 |
函数 | set |
设置当 igraph 执行长时间操作时要调用的处理程序。 |
函数 | set |
设置 igraph 使用的随机数生成器。 |
函数 | set |
设置当 igraph 尝试显示状态消息时要调用的处理程序。 |
函数 | split |
计算两个社区结构之间的分裂-合并距离。 |
函数 | umap |
从有向距离图计算无向 UMAP 权重。UMAP 是一种布局算法,通常将有向距离图作为输入,例如基于向量空间中点之间的欧几里得距离的 k 近邻图…… |
函数 | write |
将图保存到给定文件。 |
变量 | __license__ |
未文档化 |
变量 | __version__ |
未文档化 |
变量 | __version |
未文档化 |
变量 | config |
igraph 的主要配置对象。使用此对象修改 igraph 的行为,通常在交互模式下使用。 |
使用各种距离度量比较两个社区结构。
对于涉及熵的度量(例如,信息变异度量),igraph 使用自然对数。
参考文献
- Meila M: Comparing clusterings by the variation of information. In: Scholkopf B, Warmuth MK (eds). Learning Theory and Kernel Machines: 16th Annual Conference on Computational Learning Theory and 7th Kernel Workship, COLT/Kernel 2003, Washington, DC, USA. Lecture Notes in Computer Science, vol. 2777, Springer, 2003. ISBN: 978-3-540-40720-1.
- Danon L, Diaz-Guilera A, Duch J, Arenas A: Comparing community structure identification. J Stat Mech P09008, 2005.
- van Dongen S: Performance criteria for graph clustering and Markov cluster experiments. Technical Report INS-R0012, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.
- Rand WM: Objective criteria for the evaluation of clustering methods. J Am Stat Assoc 66(336):846-850, 1971.
- Hubert L and Arabie P: Comparing partitions. Journal of Classification 2:193-218, 1985.
参数 | |
comm1 | 第一个社区结构,作为成员列表或 Clustering 对象。 |
comm2 | 第二个社区结构,作为成员列表或 Clustering 对象。 |
method | 要使用的度量。"vi"或"meila"表示 Meila (2003) 的信息变异度量,"nmi"或"danon"表示 Danon 等人 (2005) 定义的归一化互信息,"split-join"表示 van Dongen (2000) 的分裂-合并距离,"rand"表示 Rand (1971) 的 Rand 指数,"adjusted_rand"表示 Hubert 和 Arabie (1985) 的调整 Rand 指数。 |
remove | 是否移除None成员列表中的条目。如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构建的,并且使用了并非为所有顶点定义的属性,这会很方便。如果remove_none为False,则任一输入中的None条目comm1或comm2将导致异常。如果remove_none为True, None值被过滤掉,只比较剩余的列表。 |
返回 | |
计算出的度量值。 |
返回两个整数序列是否可以是一个二分图的度序列。
二分图可能包含也可能不包含多重边,具体取决于其余参数中允许的边类型。
参数 | |
degrees1 | 第一部分的度列表。 |
degrees2 | 第二部分的度列表。 |
multiple | 是否允许有多重边。 |
返回 | |
True如果存在可以实现给定度序列(带或不带多重边)的二分图,则为 True。False否则。 |
自 0.9 版本起弃用,推荐使用 is_graphical()
。
返回一个度列表是否可以是某个图的度序列。
请注意,图不必是简单的;换句话说,此函数可能会返回True对于只能通过使用一个或多个多重边或自环边来实现的度序列。
特别地,此函数检查是否
- 所有度都是非负的
- 对于无向图,度数之和为偶数
- 对于有向图,两个度序列长度相同且总和相等
参数 | |
out | 度列表。对于有向图,此列表必须包含顶点的出度。 |
in | 有向图的入度列表。对于无向图,此参数必须为None。 |
返回 | |
True如果存在可以实现给定度序列的图,则为 True。False否则。 |
返回一个度列表是否可以是某个图的度序列,带或不带多重边和自环边,具体取决于其余参数中允许的边类型。
参数 | |
out | 度列表。对于有向图,此列表必须包含顶点的出度。 |
in | 有向图的入度列表。对于无向图,此参数必须为None。 |
loops | 是否允许自环边。 |
multiple | 是否允许有多重边。 |
返回 | |
True如果存在可以实现给定度序列且具有给定边类型的图,则为 True。False否则。 |
自 0.9 版本起弃用,推荐使用 is_graphical()
。
返回一个度列表是否可以是某个简单图的度序列。
请注意,图必须是简单的;换句话说,此函数将返回False对于不使用一个或多个多重边或自环边就无法实现的度序列。
参数 | |
out | 度列表。对于有向图,此列表必须包含顶点的出度。 |
in | 有向图的入度列表。对于无向图,此参数必须为None。 |
返回 | |
True如果存在可以实现给定度序列的简单图,则为 True。False否则。 |
设置 igraph 使用的随机数生成器。
参数 | |
generator | 要使用的生成器。它必须是一个 Python 对象,至少具有三个属性:random, randint和gauss。它们都必须是可调用的,并且其签名和行为必须与random.random, random.randint和random.gauss相同。可选地,对象可以提供一个名为getrandbits的函数,其签名与randpm.getrandbits相同,按需提供给定数量的随机位。默认情况下,igraph 使用random模块进行随机数生成,但您可以在此处提供您的替代实现。如果给定的生成器是None,igraph 将恢复使用 C 层中实现的默认 PCG32 生成器,这可能比调用 Python 获取随机数略快,但您无法设置其种子或保存其状态。 |
设置当 igraph 尝试显示状态消息时要调用的处理程序。
这用于传达无法给出合理进度百分比(因此无法使用进度处理程序)的某些计算的进度。
参数 | |
handler | 状态处理函数。它必须接受一个参数,即告知用户 igraph 当前正在做什么的消息。 |
计算两个社区结构之间的分裂-合并距离。
分裂-合并距离是定义在给定集合分区空间上的一种距离度量。它是从一个分区到另一个分区的投影距离之和,反之亦然,其中 A 到 B 的投影数计算如下:
- 对于 A 中的每个集合,找到 B 中与其重叠最大的集合,并记录重叠的大小。
- 将 A 中每个集合的最大重叠大小相加。
- 从分区中的元素数量 n 中减去该和。
请注意,投影距离是不对称的,这就是为什么它必须双向计算然后相加。此函数返回comm1到comm2的投影距离,以及comm2到comm1的投影距离,并将它们作为一个对返回。实际的分裂-合并距离是这两个距离的总和。之所以这样呈现,是因为如果其中一个元素为零,则意味着其中一个分区是另一个分区的子分区(如果接近零,则其中一个分区接近于另一个分区的子分区)。
Reference: van Dongen S: Performance criteria for graph clustering and Markov cluster experiments. Technical Report INS-R0012, National Research Institute for Mathematics and Computer Science in the Netherlands, Amsterdam, May 2000.
参数 | |
comm1 | 第一个社区结构,作为成员列表或 Clustering 对象。 |
comm2 | 第二个社区结构,作为成员列表或 Clustering 对象。 |
remove | 是否移除None成员列表中的条目。如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构建的,并且使用了并非为所有顶点定义的属性,这会很方便。如果remove_none为False,则任一输入中的None条目comm1或comm2将导致异常。如果remove_none为True, None值被过滤掉,只比较剩余的列表。 |
返回 | |
的投影距离comm1到comm2和反之亦然,作为元组。分裂-合并距离是两者的总和。 |
另请参阅 | |
compare_communities() 并使用method = "split-join"如果您只对它们的总和感兴趣,而不是各个投影距离。 |
从有向距离图计算无向 UMAP 权重。UMAP 是一种布局算法,通常将有向距离图作为输入,例如基于向量空间中点之间欧几里得距离的 k 近邻图。该图是有向的,因为顶点 v1 可能认为顶点 v2 是一个近邻,但 v2 本身可能有许多比 v1 更近的邻居。此函数使用并集作为对称运算符,从距离图计算对称化权重。简单来说,如果任一顶点认为另一个顶点是近邻,它们将被视为近邻。
此函数可用作 Graph.layout_umap() 的独立预处理步骤。出于效率原因,返回的权重与输入距离具有相同的长度,但由于对称化,一些信息会丢失。因此,只要在输入距离图中发现方向相反的边,其中一条边的权重就会设置为零。您可以将此函数的输出直接传递给 Graph.layout_umap(),如下所示:weights = igraph.umap_compute_weights(graph, dist) layout = graph.layout_umap(weights=weights)
参数 | |
graph | 用于计算权重的有向图。 |
dist | 与图边关联的距离。 |
返回 | |
与每条边关联的对称化权重。如果距离图在一对顶点之间同时存在有向边,则其中一条返回的权重将设置为零。 |
另请参阅 | |
Graph.layout_umap() |
将图保存到给定文件。
这只是一个方便函数,直接调用 Graph.write
。所有参数都原封不动地传递给 Graph.write
。
参数 | |
graph | 要保存的图 |
filename | 要写入的文件名 |
*args | 未文档化 |
**kwds | 未文档化 |