【问题标题】:When to stop agglomerative hierarchical clustering - stopping criteria何时停止凝聚层次聚类 - 停止标准
【发布时间】:2015-12-01 04:37:12
【问题描述】:

我正在为我的应用程序的每个功能编写代码,所以我没有使用为你做所有事情的工具

一直在寻找何时削减我的凝聚层次聚类的解决方案

我如何集群?

我在 c# 4.5.2 中编写了应用程序

到目前为止,我使用的是标准层次结构,它使用 Euclidean_Distance 来计算文档对之间的距离

它还使用 UPGMA 计算集群之间的距离来决定合并哪些集群

我还编写了 Rand Index 和 F Measure 来测试我手动标记的数据集是否成功

但问题是停止合并更多集群时

在没有真实数据示例或解释清楚的伪代码的情况下,我真的不擅长理解数学方程

到处都有数学方程式,但没有现实生活中的例子

所以寻找你的答案。例如,它写在很多地方 贝叶斯信息准则 (BIC) 是一个很好的解决方案,但我不知道如何将它应用到我的软件中

我还有其他距离或相似度指标,例如余弦相似度或索伦森骰子距离等

stackexchange 或 stackoverflow 上有很多关于此的问题,但所有答案都使用工具

像 matlab 或 R 等

【问题讨论】:

    标签: algorithm machine-learning cluster-analysis pseudocode hierarchical-clustering


    【解决方案1】:

    尝试计算每个特定聚类拟合程度的某种度量 - 例如,到聚类中心的距离之和,或平方误差之和。您应该会发现,随着集群数量的增加,该误差会减少 - 更容易适应更多的集群,并且随着集群数量的减少而增加。

    现在画一个图,寻找一个“弯头”,随着聚类数量的减少,错误开始变大的速度越来越快。然后,您可以假设在错误开始快速增加之前的最小聚类数是数据中的真实聚类数。

    例如,请参阅 Cluster analysis in R: determine the optimal number of clusters 中的图表,就在文本“我们可能得出结论,此方法将指示 4 个集群:”下方:

    【讨论】:

    • 回答。然而,绘制图表意味着有监督的技术。我必须以编程方式进行。同样在我的应用程序中,我不知道如何绘制它的图表:D
    • 文章stat.washington.edu/wxs/Stat592-w2011/Literature/… 描述了一种使用交叉验证对具有不同数量聚类的聚类进行评分的方法。快速阅读表明它将数据划分为重复聚类事物,并查看点对是否可靠地聚集在一起,或者可靠地不聚集在一起。希望如果你得到正确的集群数量,你用这个数量的集群形成的集群将具有这个属性。
    猜你喜欢
    • 2014-06-28
    • 2016-09-06
    • 2021-10-04
    • 2021-07-25
    • 2021-07-21
    • 2020-11-30
    • 2015-11-20
    • 2017-10-24
    • 2012-03-10
    相关资源
    最近更新 更多