python-igraph API 参考

python-igraph 中所有类、函数和方法的列表

模块文档

与图聚类相关的类。

聚类 表示任意有序集合的聚类的类。
凝聚 图的凝聚块结构。
覆盖 表示任意有序集合的覆盖的类。
树状图 某些数据集的层次聚类(树状图)。
顶点聚类 图的顶点集的聚类。
顶点覆盖 图的顶点集的覆盖。
顶点树状图 顶点集层次聚类产生的树状图。
函数 比较_社区 使用各种距离度量比较两个社区结构。
函数 分裂_连接_距离 计算两个社区结构之间的分裂-连接距离。
函数 _处理_标记_组_参数_为_聚类 处理聚类绘制方法中的 mark_groups=... 关键字参数。
函数 _准备_社区_比较 辅助方法,它接受两个社区结构,可以是成员列表或 Clustering 的实例,并返回一个元组,其两个元素是成员列表。
def compare_communities(comm1, comm2, method='vi', remove_none=False):

使用各种距离度量比较两个社区结构。

参数
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 指数。
移除_无是否移除None成员列表中的条目。如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构造的,并且使用的属性未为所有顶点定义,则这很有用。如果remove_noneFalse, 则None中的条目comm1之一或comm2将导致异常。如果remove_noneTrue, None值将被过滤掉,并且仅比较剩余列表。
返回值
计算的度量。
未知字段:newfield
ref参考
未知字段:ref
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 D: 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.
def split_join_distance(comm1, comm2, remove_none=False):

计算两个社区结构之间的分裂-连接距离。

分裂-连接距离是在给定集合的分区空间上定义的距离度量。它是从一个分区到另一个分区的投影距离的总和,反之亦然,其中 A 从 B 的投影数计算如下

  1. 对于 A 中的每个集合,找到 B 中与其具有最大重叠的集合,并记下重叠的大小。
  2. 对 A 中每个集合的最大重叠大小求和。
  3. n 中减去总和,即分区中的元素数。

请注意,投影距离是不对称的,这就是为什么它必须在两个方向上计算然后加在一起。此函数返回comm1comm2的投影距离和comm2comm1的投影距离,并将它们以一对形式返回。实际的分裂-连接距离是两个距离的总和。之所以以这种方式呈现,是因为其中一个元素为零意味着其中一个分区是另一个分区的子分区(如果它接近于零,则其中一个分区接近于另一个分区的子分区)。

参数
comm1第一个社区结构,作为成员列表或作为 Clustering 对象。
comm2第二个社区结构,作为成员列表或作为 Clustering 对象。
移除_无是否移除None成员列表中的条目。如果您的 Clustering 对象是使用 VertexClustering.FromAttribute 构造的,并且使用的属性未为所有顶点定义,则这很有用。如果remove_noneFalse, 则None中的条目comm1之一或comm2将导致异常。如果remove_noneTrue, None值将被过滤掉,并且仅比较剩余列表。
返回值
的投影距离comm1comm2,反之亦然,以元组形式返回。分裂-连接距离是两者的总和。
参见
如果您仅对它们的总和感兴趣,则可以使用 compare_communities()方法 = "split-join"
未知字段:newfield
ref参考
未知字段:ref
van Dongen D: 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.
def _handle_mark_groups_arg_for_clustering(mark_groups, clustering):

处理聚类绘制方法中的 mark_groups=... 关键字参数。

这是一个内部方法,您无需对其进行修改。其目的是处理 VertexClusteringVertexCover 实例的 mark_groups=... 关键字参数的扩展语义,即数值 ID 自动解析为集群的功能。__plot__方法

def _prepare_community_comparison(comm1, comm2, remove_none=False):

辅助方法,它接受两个社区结构,可以是成员列表或 Clustering 的实例,并返回一个元组,其两个元素是成员列表。

这被 compare_communitiessplit_join_distance 使用。

参数
comm1第一个社区结构,作为成员列表或作为 Clustering 对象。
comm2第二个社区结构,作为成员列表或作为 Clustering 对象。
移除_无是否移除None成员列表中的条目。如果remove_noneFalse, 则None中的条目comm1之一或comm2将导致异常。如果remove_noneTrue, None值将被过滤掉,并且仅比较剩余列表。