class VertexClustering(Clustering): (source)
已知子类:igraph.Cut
构造函数: VertexClustering(graph, membership, modularity, params, modularity_params)
图的顶点集的聚类。
这个类通过将其链接到特定的Graph对象,并可选地存储聚类的模块化分数,扩展了Clustering。它还提供了一些方便的方法,比如获取与集群对应的子图等。
| 注意 | |
由于此类与Graph相关联,如果存在引用Graph的VertexClustering,则通过del操作符销毁图不会释放图占用的内存。 |
| 类方法 | |
基于顶点属性的值创建顶点聚类。 |
| 方法 | __init__ |
为给定图创建聚类对象。 |
| 方法 | __plot__ |
将聚类绘制到给定的Cairo上下文或matplotlib轴。 |
| 方法 | as |
返回一个包含与此聚类相同簇的VertexCover。 |
| 方法 | cluster |
返回一个图,其中每个聚类被收缩为一个单独的顶点。 |
| 方法 | crossing |
返回一个布尔向量,其中元素 i 为 True 当且仅当边 i 位于集群之间,否则为 False。 |
| 方法 | giant |
返回聚类图中最大的簇。 |
| 方法 | recalculate |
重新计算存储的模块化值。 |
| 方法 | subgraph |
获取属于给定集群的子图。 |
| 方法 | subgraphs |
获取属于每个集群的所有子图。 |
| 属性 | graph |
返回属于此对象的图 |
| 属性 | modularity |
返回模块化分数 |
| 方法 | _formatted |
遍历集群并将它们格式化为字符串以在摘要中显示。 |
| 方法 | _recalculate |
重新计算存储的模块化值,并捕获模块化函数引发的所有异常(如果有)。 |
| 类变量 | _default |
未记录 |
| 实例变量 | _graph |
未记录 |
| 实例变量 | _modularity |
未记录 |
| 实例变量 | _modularity |
未记录 |
| 实例变量 | _modularity |
未记录 |
继承自 Clustering:
| 方法 | __getitem__ |
返回指定集群的成员。 |
| 方法 | __iter__ |
遍历此聚类中的集群。 |
| 方法 | __len__ |
返回聚类的数量。 |
| 方法 | __str__ |
未记录 |
| 方法 | compare |
使用某种相似性或距离度量将此聚类与另一个聚类进行比较。 |
| 方法 | size |
返回给定聚类的大小。 |
| 方法 | size |
返回聚类大小的直方图。 |
| 方法 | sizes |
返回给定聚类的大小。 |
| 方法 | summary |
返回聚类的摘要。 |
| 属性 | membership |
返回成员向量。 |
| 属性 | n |
返回此聚类覆盖的元素数量。 |
| 实例变量 | _len |
未记录 |
| 实例变量 | _membership |
未记录 |
基于顶点属性的值创建顶点聚类。
具有相同属性的顶点将对应于同一个集群。
| 参数 | |
| graph | 我们正在处理的图 |
| attribute | 聚类所基于的属性名称。 |
| intervals | 对于数值属性,您可以在此处传递单个数字或数字列表。单个数字意味着顶点将被放入该宽度的区间中,最终落入同一区间的顶点将属于同一簇。数字列表明确指定区间位置;例如,[10, 20, 30] 表示将有四个类别:属性值小于10的顶点,介于10和20之间的顶点,介于20和30之间的顶点,以及超过30的顶点。区间从左闭右开。 |
| params | 存储在此对象中的附加参数。 |
| 返回 | |
| 一个新的 VertexClustering 对象 | |
igraph.Clustering.__init__igraph.Cut为给定图形创建聚类对象。
| 参数 | |
| graph | 将与聚类关联的图 |
| membership | 成员列表。列表的长度必须等于图中顶点的数量。如果为None,则假定每个顶点属于同一个集群。 |
| modularity | 聚类的模块化分数。如果为None,则会在需要时计算。 |
| params | 存储在此对象中的附加参数。 |
| modularity | 当模块性被(重新)计算时,应传递给Graph.modularity的参数。如果原始图是加权的,你应该在这里传递一个包含weight键的字典,并带有适当的值。 |
将聚类绘制到给定的Cairo上下文或matplotlib Axes上。
这是通过调用Graph.__plot__()并使用相同的参数来完成的,但会根据当前聚类对图的顶点进行着色(除非被vertex_color参数显式覆盖)。
此方法理解Graph.__plot__()所理解的所有位置参数和关键字参数,这里只强调不同之处:
mark_groups: 是否通过彩色多边形突出显示某些顶点组。除了
Graph.__plot__接受的值(即,将颜色映射到顶点索引的字典,包含顶点索引列表的列表,或False),以下内容也被接受:- True: all the groups will be highlighted, the colors matching the corresponding color indices from the current palette (see the palette keyword argument of
Graph.__plot__). - A dict mapping cluster indices or tuples of vertex indices to color names. The given clusters or vertex groups will be highlighted by the given colors.
- A list of cluster indices. This is equivalent to passing a dict mapping numeric color indices from the current palette to cluster indices; therefore, the cluster referred to by element i of the list will be highlighted by color i from the palette.
这里还考虑了plotting.mark_groups配置键的值;如果该配置键为True且未显式给出mark_groups,它将自动设置为True。
代替顶点索引列表,你也可以使用
VertexSeq实例。除了使用颜色名称外,您还可以使用当前调色板中的颜色索引。None 作为颜色名称意味着相应的组将被忽略。
- True: all the groups will be highlighted, the colors matching the corresponding color indices from the current palette (see the palette keyword argument of
palette: 用于将数字颜色索引解析为RGBA值的调色板。默认情况下,这是
ClusterColoringPalette的一个实例。
| 另请参阅 | |
Graph.__plot__() 了解更多支持的关键字参数。 |
返回一个图,其中每个聚类被收缩为一个单一的顶点。
在生成的图中,顶点 i 代表此聚类中的簇 i。如果原始图中至少存在一个连接的顶点对 (a, b),使得顶点 a 在簇 i 中,顶点 b 在簇 j 中,则顶点 i 和 j 将被连接。
| 参数 | |
| combine | 指定如何从旧图的属性中推导出新图中顶点的属性。有关更多详细信息,请参见Graph.contract_vertices()。 |
| combine | 指定如何从旧图的边属性中推导出新图中边的属性。有关更多详细信息,请参见Graph.simplify()。如果在此处指定False,则不会合并边,表示原始簇的顶点之间的边数将等于原始图中这些簇成员之间的边数。 |
| 返回 | |
| 新图表。 | |
返回聚类图中最大的聚类。
最大的集群是指在聚类中不存在更大集群的集群。如果聚类代表社区检测函数的结果,它也可能被称为巨型社区。
前提条件:自覆盖构建以来,图的顶点集未被修改。
| 返回 | |
| 最大集群的副本。 | |
| 注意 | |
| 可能存在多个最大的集群,如果有多个最大的集群,此方法将返回其中一个的副本。 |
重新计算存储的模块化值。
如果在创建VertexClustering对象后图已被修改(添加或删除了边),则必须通过类成员modularity或q查询聚类的模块化分数之前调用此方法。
| 返回 | |
| 新的模块化分数 |