1

我有一个算法可以将数据分组到一个层次聚类树中。该算法是 Toby Seagram 的 Programming Collective Intelligence 中描述的算法。树输出是一个二叉树,每个节点都有一个“距离”值,它告诉您两个子节点相距多远。

然后我可以将其显示为树状图,这使得将值组合在一起的人类点变得相当容易。但是,我很难想出一个自动决定组应该是什么的算法。我希望能够自动确定:

  • 组数
  • 每组应该放置哪些点

有没有一个标准的算法呢?

4

2 回答 2

5

我认为没有默认的方法可以做到这一点。简单的“手动”方法是:

  • 指定您想要/期望的集群数量
  • 设置两个节点之间最大距离的阈值;任何距离较大的节点都属于另一个集群

有一些自动方法可以确定集群的数量R有自动处理这个问题的Dynamic Tree Cut 包,也可以使用pvclust 。以下是描述处理此问题的另外两种方法,Salvador (2002)Daniels (2006)

于 2012-09-02T15:26:41.593 回答
0

我发现 Calinski-Harabasz 指数(也称为方差比标准)适用于由层次聚类生成的树状图。您可以在本文中找到更多信息(和比较研究)。

于 2013-07-08T21:06:50.743 回答