未记录
| 模块 | adjacency |
无模块文档字符串;5/5 函数已记录 |
| 包 | app |
igraph 的用户界面 |
| 模块 | automorphisms |
无模块文档字符串;2/2 函数已记录 |
| 模块 | basic |
无模块文档字符串;8/8 函数已记录 |
| 模块 | bipartite |
无模块文档字符串;3/3 函数已记录 |
| 模块 | clustering |
与图聚类相关的类。 |
| 模块 | community |
没有模块文档字符串;13/13 函数已记录 |
| 模块 | configuration |
igraph的配置框架。 |
| 模块 | cut |
表示图上割和流的类。 |
| 模块 | datatypes |
额外的辅助数据类型 |
| Package | 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配置详情的类。 |
| 类 | |
表示任意有序集合的覆盖的类。 |
| Class | |
给定图的切割。 |
| 类 | |
某些数据集的层次聚类(树状图)。 |
| 类 | |
igraph DFS 迭代器对象 |
| 类 | |
图的二元组普查。 |
| 类 | |
表示图中单一边的类。 |
| 类 | |
表示图中边的序列的类。 |
| Class | |
给定图的流。 |
| 类 | |
通用图。 |
| 类 | |
图的低级表示。 |
| 类 | |
未记录 |
| 类 | |
图中顶点的匹配。 |
| 类 | |
图的三角普查。 |
| 类 | |
一个类似字典的类,可用于为名称(例如,顶点名称)分配唯一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,comm1或comm2中的None条目将导致异常。如果remove_none为True,None值将被过滤掉,仅比较剩余的列表。 |
| 返回 | |
| 计算得出的度量。 | |
返回两个整数序列是否可以是二分图的度序列。
二分图可能有也可能没有多条边,这取决于剩余参数中允许的边类型。
| 参数 | |
| degrees1 | 第一个分区中的度数列表。 |
| degrees2 | 第二个分区中的度数列表。 |
| multiple | 是否允许多条边。 |
| 返回 | |
| True 如果存在某个二分图可以实现给定的度序列(无论是否有重边),否则为 False。 | |
自0.9版本起已弃用,推荐使用is_graphical()。
返回一个度数列表是否可以成为某个图的度数序列。
请注意,图不一定是简单的;换句话说,对于仅使用一个或多个多重边或环边即可实现的度序列,此函数可能返回 True。
特别是,此函数检查是否
- all the degrees are non-negative
- for undirected graphs, the sum of degrees are even
- for directed graphs, the two degree sequences are of the same length and equal sums
| 参数 | |
| out | 度数的列表。对于有向图,此列表必须包含顶点的出度。 |
| in | 有向图的入度列表。对于无向图,此参数必须为None。 |
| 返回 | |
| True 如果存在某个图可以实现给定的度序列,否则为 False。 | |
返回一个度数列表是否可以成为某个图的度数序列,根据剩余参数中允许的边类型,可以有或没有多重边和环边。
| 参数 | |
| out | 度数的列表。对于有向图,此列表必须包含顶点的出度。 |
| in | 有向图的入度列表。对于无向图,此参数必须为 None。 |
| loops | 是否允许循环边。 |
| multiple | 是否允许多条边。 |
| 返回 | |
| True 如果存在某个图可以实现给定的度序列和边类型,否则为 False。 | |
自0.9版本起已弃用,推荐使用is_graphical()。
返回一个度数列表是否可以成为某个简单图的度数序列。
请注意,图必须是简单的;换句话说,对于无法在不使用一个或多个多重边或环边的情况下实现的度序列,此函数将返回False。
| 参数 | |
| out | 度数的列表。对于有向图,此列表必须包含顶点的出度。 |
| in | 有向图的入度列表。对于无向图,此参数必须为None。 |
| 返回 | |
| 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的投影数计算如下:
- For each set in A, find the set in B with which it has the maximal overlap, and take note of the size of the overlap.
- Take the sum of the maximal overlap sizes for each set in A.
- Subtract the sum from n, the number of elements in the partition.
请注意,投影距离是不对称的,这就是为什么它必须在两个方向上计算然后相加。此函数返回comm1从comm2的投影距离和comm2从comm1的投影距离,并以一对形式返回它们。实际的拆分-合并距离是这两个距离的总和。之所以以这种方式呈现,是因为其中一个元素为零意味着其中一个分区是另一个分区的子分区(如果它接近于零,则其中一个分区接近于另一个分区的子分区)。
参考文献: van Dongen S: 图聚类和马尔可夫聚类实验的性能标准。技术报告 INS-R0012,荷兰国家数学与计算机科学研究所,阿姆斯特丹,2000年5月。
| 参数 | |
| comm1 | 第一个社区结构,作为成员列表或作为Clustering对象。 |
| comm2 | 第二个社区结构,作为成员列表或作为Clustering对象。 |
| remove | 是否从成员列表中移除None条目。如果您的Clustering对象是使用VertexClustering.FromAttribute构建的,并且使用的属性并未为所有顶点定义,这将非常有用。如果remove_none为False,comm1或comm2中的None条目将导致异常。如果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 | 未记录 |