类 VertexClustering(Clustering): (源)
已知子类: igraph.Cut
构造函数: VertexClustering(graph, membership, modularity, params, modularity_params)
图的顶点集的聚类。
此类通过将其链接到特定的 Graph
对象并可选地存储聚类的模块度分数来扩展 Clustering
。它还提供了一些方便的方法,例如获取对应于聚类的子图等。
注意 | |
由于此类链接到一个 Graph ,因此通过以下方式销毁图del运算符不会释放图所占用的内存,如果存在引用该 Graph 的 VertexClustering 对象。 |
类方法 |
|
根据顶点属性的值创建顶点聚类。 |
方法 | __init__ |
为给定图创建聚类对象。 |
方法 | __plot__ |
将聚类绘制到给定的Cairo上下文或matplotlib Axes。 |
方法 | 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 | 对于数值属性,您可以在此处传递单个数字或数字列表。单个数字意味着顶点将被放入该宽度的 bin 中,并且最终位于相同 bin 中的顶点将属于同一聚类。数字列表明确指定 bin 位置;例如,[10, 20, 30]表示将有四个类别:属性值小于 10 的顶点,介于 10 和 20 之间,介于 20 和 30 之间,以及大于 30 的顶点。区间左闭右开。 |
params | 要存储在此对象中的附加参数。 |
返回 | |
一个新的 VertexClustering 对象 |
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:所有组都将被突出显示,颜色与当前调色板中对应的颜色索引匹配(参见palette的关键字参数
Graph.__plot__
)。 - 一个将聚类索引或顶点索引元组映射到颜色名称的字典。给定的聚类或顶点组将由给定的颜色突出显示。
- 一个聚类索引列表。这等效于传递一个将当前调色板中的数字颜色索引映射到聚类索引的字典;因此,列表中元素 i 所指的聚类将由调色板中的颜色 i 突出显示。
配置键的值plotting.mark_groups也在此处考虑;如果该配置键为True和mark_groups未明确给出,则会自动设置为True.
除了顶点索引列表之外,您还可以使用
VertexSeq
实例。除了颜色名称之外,您还可以使用当前调色板中的颜色索引。None作为颜色名称意味着相应的组将被忽略。
- True:所有组都将被突出显示,颜色与当前调色板中对应的颜色索引匹配(参见palette的关键字参数
palette:用于将数字颜色索引解析为 RGBA 值的调色板。默认情况下,这是
ClusterColoringPalette
的一个实例。
另请参阅 | |
有关更多支持的关键字参数,请参阅 Graph.__plot__() 。 |
返回一个图,其中每个簇被收缩成一个顶点。
在结果图中,顶点 i 代表此聚类中的聚类 i。如果原始图中至少存在一对已连接的顶点 (a, b),使得顶点 a 属于聚类 i 且顶点 b 属于聚类 j,则顶点 i 和 j 将被连接。
参数 | |
combine | 指定如何从旧图中顶点的属性派生新图中顶点的属性。有关更多详细信息,请参阅 Graph.contract_vertices() 。 |
combine | 指定如何从旧图中边的属性派生新图中边的属性。有关更多详细信息,请参阅 Graph.simplify() 。如果您在此处指定False,则边将不会合并,并且表示原始聚类的顶点之间的边数将等于原始图中这些聚类成员之间的边数。 |
返回 | |
新图。 |
返回聚类图中最大的簇。
最大聚类是聚类中不存在更大聚类的聚类。如果聚类代表社区检测函数的结果,它也可能被称为巨型社区。
前置条件:自覆盖构造以来,图的顶点集未被修改。
返回 | |
最大聚类的副本。 |
注意 | |
可能存在多个最大聚类,如果存在多个最大聚类,此方法将返回其中任意一个的副本。 |
重新计算存储的模块化值。
在通过类成员查询聚类的模块度分数之前,必须调用此方法modularity或q如果自 VertexClustering
对象创建以来图已被修改(边已添加或删除)。
返回 | |
新的模块度分数 |