class documentation

图的顶点集的聚类。

这个类通过将其链接到特定的Graph对象,并可选地存储聚类的模块化分数,扩展了Clustering。它还提供了一些方便的方法,比如获取与集群对应的子图等。

注意
由于此类与Graph相关联,如果存在引用GraphVertexClustering,则通过del操作符销毁图不会释放图占用的内存。
类方法 FromAttribute 基于顶点属性的值创建顶点聚类。
方法 __init__ 为给定图创建聚类对象。
方法 __plot__ 将聚类绘制到给定的Cairo上下文或matplotlib轴。
方法 as_cover 返回一个包含与此聚类相同簇的VertexCover
方法 cluster_graph 返回一个图,其中每个聚类被收缩为一个单独的顶点。
方法 crossing 返回一个布尔向量,其中元素 iTrue 当且仅当边 i 位于集群之间,否则为 False
方法 giant 返回聚类图中最大的簇。
方法 recalculate_modularity 重新计算存储的模块化值。
方法 subgraph 获取属于给定集群的子图。
方法 subgraphs 获取属于每个集群的所有子图。
属性 graph 返回属于此对象的图
属性 modularity 返回模块化分数
方法 _formatted_cluster_iterator 遍历集群并将它们格式化为字符串以在摘要中显示。
方法 _recalculate_modularity_safe 重新计算存储的模块化值,并捕获模块化函数引发的所有异常(如果有)。
类变量 _default_palette 未记录
实例变量 _graph 未记录
实例变量 _modularity 未记录
实例变量 _modularity_dirty 未记录
实例变量 _modularity_params 未记录

继承自 Clustering:

方法 __getitem__ 返回指定集群的成员。
方法 __iter__ 遍历此聚类中的集群。
方法 __len__ 返回聚类的数量。
方法 __str__ 未记录
方法 compare_to 使用某种相似性或距离度量将此聚类与另一个聚类进行比较。
方法 size 返回给定聚类的大小。
方法 size_histogram 返回聚类大小的直方图。
方法 sizes 返回给定聚类的大小。
方法 summary 返回聚类的摘要。
属性 membership 返回成员向量。
属性 n 返回此聚类覆盖的元素数量。
实例变量 _len 未记录
实例变量 _membership 未记录
@classmethod
def FromAttribute(cls, graph, attribute, intervals=None, params=None): (source)

基于顶点属性的值创建顶点聚类。

具有相同属性的顶点将对应于同一个集群。

参数
graph我们正在处理的图
attribute聚类所基于的属性名称。
intervals对于数值属性,您可以在此处传递单个数字或数字列表。单个数字意味着顶点将被放入该宽度的区间中,最终落入同一区间的顶点将属于同一簇。数字列表明确指定区间位置;例如,[10, 20, 30] 表示将有四个类别:属性值小于10的顶点,介于10和20之间的顶点,介于20和30之间的顶点,以及超过30的顶点。区间从左闭右开。
params存储在此对象中的附加参数。
返回
一个新的 VertexClustering 对象
def __init__(self, graph, membership=None, modularity=None, params=None, modularity_params=None): (source)
overridden in igraph.Cut

为给定图形创建聚类对象。

参数
graph将与聚类关联的图
membership成员列表。列表的长度必须等于图中顶点的数量。如果为None,则假定每个顶点属于同一个集群。
modularity聚类的模块化分数。如果为None,则会在需要时计算。
params存储在此对象中的附加参数。
modularity_params当模块性被(重新)计算时,应传递给Graph.modularity的参数。如果原始图是加权的,你应该在这里传递一个包含weight键的字典,并带有适当的值。
def __plot__(self, backend, context, *args, **kwds): (source)

将聚类绘制到给定的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 作为颜色名称意味着相应的组将被忽略。

  • palette: 用于将数字颜色索引解析为RGBA值的调色板。默认情况下,这是ClusterColoringPalette的一个实例。

另请参阅
Graph.__plot__() 了解更多支持的关键字参数。
def as_cover(self): (source)

返回一个VertexCover,其中包含与此聚类相同的簇。

def cluster_graph(self, combine_vertices=None, combine_edges=None): (source)

返回一个图,其中每个聚类被收缩为一个单一的顶点。

在生成的图中,顶点 i 代表此聚类中的簇 i。如果原始图中至少存在一个连接的顶点对 (a, b),使得顶点 a 在簇 i 中,顶点 b 在簇 j 中,则顶点 ij 将被连接。

参数
combine_vertices指定如何从旧图的属性中推导出新图中顶点的属性。有关更多详细信息,请参见Graph.contract_vertices()
combine_edges指定如何从旧图的边属性中推导出新图中边的属性。有关更多详细信息,请参见Graph.simplify()。如果在此处指定False,则不会合并边,表示原始簇的顶点之间的边数将等于原始图中这些簇成员之间的边数。
返回
新图表。
def crossing(self): (source)

返回一个布尔向量,其中元素 iTrue 当且仅当边 i 位于集群之间,否则为 False

def giant(self): (source)

返回聚类图中最大的聚类。

最大的集群是指在聚类中不存在更大集群的集群。如果聚类代表社区检测函数的结果,它也可能被称为巨型社区

前提条件:自覆盖构建以来,图的顶点集未被修改。

返回
最大集群的副本。
注意
可能存在多个最大的集群,如果有多个最大的集群,此方法将返回其中一个的副本。
def recalculate_modularity(self): (source)

重新计算存储的模块化值。

如果在创建VertexClustering对象后图已被修改(添加或删除了边),则必须通过类成员modularityq查询聚类的模块化分数之前调用此方法。

返回
新的模块化分数
def subgraph(self, idx): (source)

获取属于给定集群的子图。

前提条件:自覆盖构建以来,图的顶点集未被修改。

参数
idx集群索引
返回
子图的一个副本
def subgraphs(self): (source)

获取属于每个集群的所有子图。

前提条件:自覆盖构建以来,图的顶点集未被修改。

返回
包含子图副本的列表

返回属于此对象的图

返回模块化分数

def _formatted_cluster_iterator(self): (source)

遍历集群并将它们格式化为字符串以在摘要中显示。

def _recalculate_modularity_safe(self): (source)

重新计算存储的模块化值,并吞没模块化函数引发的所有异常(如果有的话)。

返回
新的模块化分数,如果无法计算模块化函数则为None
_default_palette = (source)

未记录

未记录

_modularity = (source)

未记录

_modularity_dirty: bool = (source)

未记录

_modularity_params: dict = (source)

未记录