类文档
表示任意有序集合的覆盖的类。
覆盖类似于聚类,但集合的每个元素可以属于覆盖中的多个簇,并且也允许不属于任何簇的元素。
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 |
未归档 |
构造具有给定簇的覆盖。
参数 | |
clusters | 此覆盖中的簇,作为列表或可迭代对象。每个簇都由一个列表或元组指定,其中包含此簇中项目的 ID。ID 从零开始。 |
n | 此覆盖覆盖的集合中元素的总数。如果它小于在所有簇中找到的唯一元素的数量,我们将简单地使用唯一元素的数量,因此将其保留为零是安全的。仅当存在一些未被任何簇覆盖的元素时,才需要指定此参数。 |
返回覆盖的摘要。
摘要包括项目和集群的数量,以及如果 verbosity 为非零值,则包括每个集群的成员列表。
参数 | |
verbosity | 确定是否应打印集群成员。零 verbosity 仅打印项目和集群的数量。 |
width | 未归档 |
返回值 | |
覆盖的摘要,作为字符串。 |