class documentation
某些数据集的分层聚类(树状图)。
层次聚类意味着我们不仅知道元素如何被分成组,还知道单个元素如何被合并成更大子组的确切历史。
这个类内部通过一个具有n行和2列的矩阵来表示层次结构——更准确地说,是一个大小为2的列表的列表。这与igraph的C核心使用的原始格式完全相同。矩阵的第i行包含在时间步骤i中被连接的两个簇的索引。联合组将由ID n + i表示,其中i从1开始。联合组的ID将在接下来的步骤中被引用,而不是其任何单个成员。因此,小于或等于n的ID(其中n是矩阵中的行数)表示数据集的原始成员(ID从0到n),而大于n + 1的ID表示联合组。例如,看一下五个节点的给定聚类的树状图和内部表示:
0 -+
|
1 -+-+
|
2 ---+-+ <====> [[0, 1], [3, 4], [2, 5], [6, 7]]
|
3 -+ |
| |
4 -+---+---
| 方法 | __init__ |
创建一个层次聚类。 |
| 方法 | __plot__ |
在给定的Cairo上下文或matplotlib轴上绘制树状图。 |
| 方法 | __str__ |
未记录 |
| 方法 | format |
将树状图格式化为外部格式。 |
| 方法 | names |
设置树状图中节点的名称 |
| 方法 | summary |
返回树状图的摘要。 |
| 属性 | merges |
返回以矩阵格式执行的合并 |
| 属性 | names |
返回树状图中节点的名称 |
| 静态方法 | _convert |
将聚类的矩阵表示转换为元组表示。 |
| 方法 | _traverse |
对合并树进行中序遍历。 |
| 实例变量 | _merges |
未记录 |
| 实例变量 | _names |
未记录 |
| 实例变量 | _nitems |
未记录 |
| 实例变量 | _nmerges |
未记录 |
overridden in
igraph.VertexDendrogram在给定的Cairo上下文或matplotlib Axes上绘制树状图。
支持的关键字参数有:
- orientation: the orientation of the dendrogram. Must be one of the following values: left-right, bottom-top, right-left or top-bottom. Individual elements are always placed at the former edge and merges are performed towards the latter edge. Possible aliases: horizontal = left-right, vertical = bottom-top, lr = left-right, rl = right-left, tb = top-bottom, bt = bottom-top. The default is left-right.
以外来格式格式化树状图。
目前仅支持Newick格式。
示例:
>>> d = Dendrogram([(2, 3), (0, 1), (4, 5)]) >>> d.format() '((2,3)4,(0,1)5)6;' >>> d.names = list("ABCDEFG") >>> d.format() '((C,D)E,(A,B)F)G;'
返回树状图的摘要。
摘要包括叶子和分支的数量,以及树状图的ASCII艺术表示,除非它太大。
| 参数 | |
| verbosity | 决定是否应打印树状图的ASCII表示。零详细程度仅打印叶子和分支的数量。 |
| max | 在ASCII表示中打印的最大叶子数。如果树状图的叶子数超过此限制,即使详细程度大于或等于1,也不会打印ASCII表示。 |
| 返回 | |
| 树状图的摘要作为字符串。 | |