class documentation
表示任意有序集合的覆盖的类。
覆盖类似于聚类,但集合中的每个元素可能属于覆盖中的多个簇,并且也允许不属于任何簇的元素。
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 |
返回集群大小的直方图。 |
| 方法 | sizes |
返回给定聚类的大小。 |
| 方法 | summary |
返回覆盖的摘要。 |
| 属性 | membership |
返回此覆盖的成员向量。 |
| 属性 | n |
返回此覆盖集合中的元素数量。 |
| 方法 | _formatted |
遍历集群并将它们格式化为字符串以在摘要中显示。 |
| 实例变量 | _clusters |
未记录 |
| 实例变量 | _n |
未记录 |
overridden in
igraph.VertexCover使用给定的集群构建一个覆盖。
| 参数 | |
| clusters | 此覆盖中的集群,作为列表或可迭代对象。每个集群由一个包含此集群中项目ID的列表或元组指定。ID从零开始。 |
| n | 集合中元素的总数,该集合由这个覆盖所覆盖。如果它小于所有聚类中找到的唯一元素的数量,我们将简单地使用唯一元素的数量,因此将其保留为零是安全的。只有在某些元素未被任何聚类覆盖时,才需要指定此参数。 |
返回封面的摘要。
摘要包括项目数量和集群数量,如果详细程度不为零,还包括每个集群的成员列表。
| 参数 | |
| verbosity | 确定是否应打印集群成员。零详细度仅打印项目和集群的数量。 |
| width | 未记录 |
| 返回 | |
| 封面摘要作为字符串。 | |