类文档
某些数据集的层次聚类(树状图)。
层次聚类意味着我们不仅知道元素如何被分成组,而且还知道各个元素如何连接成更大的子组的确切历史记录。
此类在内部通过具有 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 上下文中绘制树状图 |
方法 | __str__ |
未归档 |
方法 | format |
以其他格式格式化树状图。 |
方法 | names |
设置树状图中节点的名称 |
方法 | summary |
返回树状图的摘要。 |
属性 | merges |
以矩阵格式返回执行的合并 |
属性 | names |
返回树状图中节点的名称 |
静态方法 | _convert |
将聚类的矩阵表示形式转换为元组表示形式。 |
方法 | _item |
计算在树状图底部绘制单个顶点所需的空间量。 |
方法 | _plot |
将树状图项绘制到给定的 Cairo 上下文中 |
方法 | _traverse |
进行合并树的中序遍历。 |
实例变量 | _merges |
未归档 |
实例变量 | _names |
未归档 |
实例变量 | _nitems |
未归档 |
实例变量 | _nmerges |
未归档 |
在给定的 Cairo 上下文中绘制树状图
支持的关键字参数有
- 方向:树状图的方向。必须是以下值之一左-右, 下-上, 右-左之一或上-下。单个元素始终放置在前一条边,合并朝着后一条边执行。可能的别名水平 = 左-右, 垂直 = 下-上, lr = 左-右, rl = 右-左, tb = 上-下, bt = 下-上。默认是左-右.
以其他格式格式化树状图。
目前仅支持 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 表示形式。 |
返回值 | |
树状图的摘要,以字符串形式。 |