【问题标题】:Cluster analysis - finding the center of a cluster聚类分析 - 找到聚类的中心
【发布时间】:2013-04-04 13:25:53
【问题描述】:
我创建了两种聚类算法:k-means 和 divisive,也许稍后我还会添加 aglomerative。我必须分析它们对高维数据的好坏程度,为此我必须计算到聚类中心的平均/总和距离。在 k-means 的情况下,这很容易,我有质心,但是如何在分裂/凝聚算法中找到中心?
当我在这里时:我目前已经实施了 Euclede's、Manhattans 和 Pearsons 距离,还有我可以使用的更多距离度量吗?
提前致谢!
【问题讨论】:
标签:
java
cluster-analysis
【解决方案1】:
你可能想得到这本书:
- 距离百科全书,Michel Deza,Elena Deza,590 页。
它涵盖了您可以使用的许多备用距离函数。
可能有几个数百种不同的距离 ...
但是,您还需要研究您的评估方法——如果它是基于质心的,它将偏向于 k-means。所以比较可能不公平。
此外,如果您使用人工数据,请确保您不会不公平地偏爱一种方法而不是另一种,因为该方法与您生成数据的方式相关(例如,如果您生成高斯聚类,则它偏爱诸如 k-means 之类的方法) .
【解决方案2】:
我的工作目标是分析这些集群,因为它们必须从高维数据创建集群。很难评估它们,而且结果不太可能完全公平,所以我将使用一个集群中记录之间的平均累积距离和来自不同集群的两条记录之间的最小距离。
关于如何在分层聚类算法中找到聚类中心的方式 - k-means 中使用的相同公式,用于在每次迭代后重新计算质心。