我一直在寻找如何有效地实现用于描绘层次聚类的树形图。目前我使用正则表达式来解析并将其显示为树结构,如下所示。
[[2,1],[3]]
这意味着有三个文档,第1级包含两个集群,一个包含文档2和1,另一个仅包含文档3。 当我们在特定级别切割树形图后得到簇。切割所示的正则表达式是困难的,并不总是给出适当的簇。
我们应该使用哪些数据结构和表示,以便从树形图中获取聚类比较容易。
答案 0 :(得分:0)
您可能希望使用SLINK算法使用的指针表示。
这很简单:对父对象的引用,以及它们加入聚类的距离。
在这里,它将是
2 parent 1 height 1
1 parent 3 height 2
3 parent nil height inf
要提取聚类,只需删除连接高度过高的所有边。