类文档

表示任意有序集覆盖的类。

覆盖类似于聚类,但集合中的每个元素可能属于覆盖中的多个簇,并且也允许不属于任何簇的元素。

Cover 实例提供了与 Clustering 实例类似的 API;例如,迭代 Cover 会像迭代常规 Clustering 实例一样迭代簇。然而,它们不是彼此派生或从共同的超类派生,并且可能存在仅在其中一个中或在另一个中存在的功能。

单个覆盖的簇可以通过以下方式访问:[]运算符

>>> cl = Cover([[0,1,2,3], [2,3,4], [0,1,6]])
>>> cl[0]
[0, 1, 2, 3]

成员向量可以通过以下方式访问:membership属性。请注意,与 Clustering 实例不同,成员向量将包含列表,这些列表包含每个项目所属的簇索引。

>>> cl.membership
[[0, 2], [0, 2], [0, 1], [0, 1], [1], [], [2]]

簇的数量可以通过以下方式检索:len函数

>>> len(cl)
3

您可以像遍历常规簇列表一样遍历覆盖。

>>> for cluster in cl:
...     print(" ".join(str(idx) for idx in cluster))
...
0 1 2 3
2 3 4
0 1 6

如果您需要一次性获取所有簇作为列表,您可以简单地将覆盖转换为列表。

>>> cluster_list = list(cl)
>>> print(cluster_list)
[[0, 1, 2, 3], [2, 3, 4], [0, 1, 6]]

Clustering 对象可以很容易地转换为 Cover 对象,使用其构造函数。

>>> clustering = Clustering([0, 0, 0, 0, 1, 1, 1, 2, 2, 2])
>>> cover = Cover(clustering)
>>> list(clustering) == list(cover)
True
方法 __getitem__ 返回给定索引的簇。
方法 __init__ 使用给定的簇构造一个覆盖。
方法 __iter__ 遍历此覆盖中的簇。
方法 __len__ 返回此覆盖中的簇数量。
方法 __str__ 返回此覆盖的字符串表示形式。
方法 size 返回给定簇的大小。
方法 size_histogram 返回簇大小的直方图。
方法 sizes 返回给定簇的大小。
方法 summary 返回覆盖的摘要。
属性 membership 返回此覆盖的成员向量。
属性 n 返回此覆盖所覆盖集合中的元素数量。
方法 _formatted_cluster_iterator 遍历簇并将其格式化为字符串,以便在摘要中显示。
实例变量 _clusters 未文档化
实例变量 _n 未文档化
def __getitem__(self, index): (源)

返回给定索引的簇。

def __init__(self, clusters, n=0): (源)
igraph.VertexCover 中被覆盖

使用给定的簇构造一个覆盖。

参数
clusters此覆盖中的簇,作为列表或可迭代对象。每个簇由包含此簇中项目 ID 的列表或元组指定。ID 从零开始。
n此覆盖所覆盖集合中的元素总数。如果它小于所有簇中找到的唯一元素的数量,我们将直接使用唯一元素的数量,因此将其保留为零是安全的。只有当存在未被任何簇覆盖的元素时,才需要指定此参数。
def __iter__(self): (源)

遍历此覆盖中的簇。

def __len__(self): (源)

返回此覆盖中的簇数量。

def __str__(self): (源)

返回此覆盖的字符串表示形式。

def size(self, idx): (源)

返回给定簇的大小。

参数
idx我们感兴趣的簇。
def size_histogram(self, bin_width=1): (源)

返回簇大小的直方图。

参数
bin_width直方图的 bin 宽度
返回
一个 Histogram 对象
def sizes(self, *args): (源)

返回给定簇的大小。

索引作为位置参数给出。如果没有位置参数,函数将返回所有簇的大小。

def summary(self, verbosity=0, width=None): (源)

返回覆盖的摘要。

如果详细级别非零,摘要将包括项目和簇的数量,以及每个簇的成员列表。

参数
verbosity确定是否应打印簇成员。详细级别为零时,仅打印项目和簇的数量。
width未文档化
返回
覆盖的摘要(字符串形式)。

返回此覆盖的成员向量。

一个覆盖了 n 个元素的覆盖的成员向量是一个长度为 n 的列表,其中元素 i 包含第 i 个项目的簇索引。

返回此覆盖所覆盖集合中的元素数量。

def _formatted_cluster_iterator(self): (源)
igraph.VertexCover 中被覆盖

遍历簇并将其格式化为字符串,以便在摘要中显示。

_clusters = (源)

未文档化

未文档化