【问题标题】:How to pick the T1 and T2 threshold values for Canopy Clustering?如何选择 Canopy 聚类的 T1 和 T2 阈值?
【发布时间】:2011-11-05 15:55:57
【问题描述】:

我正在尝试与 K-Means 一起实现 Canopy 聚类算法。我在网上做了一些搜索,说要使用 Canopy 聚类来让您的初始起点输入 K-means,问题是,在 Canopy 聚类中,您需要为 Canopy 指定 2 个阈值:T1 和 T2,其中内部阈值中的点与该树冠密切相关,而较宽阈值中的点与该树冠的关联较小。这些阈值或距树冠中心的距离是如何确定的?

问题背景:

我要解决的问题是,我有一组数字,例如 [1,30] 或 [1,250],其大小约为 50。可能有重复的元素,它们可以是浮点数嗯,比如 8, 17.5, 17.5, 23, 66, ...我想找到最优的簇,或者这组数字的子集。

因此,如果使用 K-means 进行 Canopy 聚类是一个不错的选择,那么我的问题仍然存在:您如何找到 T1、T2 值?如果这不是一个好的选择,是否有更好、更简单但有效的算法可供使用?

【问题讨论】:

  • 这是另一个类似的问题stats.stackexchange.com/questions/13895/…
  • 你有没有运气?我正在寻找使用 Canopy Clustering 来找到一个初始集群集以提供给 K-Means。我可能只使用here 描述的“跳转方法”(这听起来类似于@rpd 在他的回答中描述的方法),但如果你找到了确定 T1 和 T2 的好方法,我想使用 Canopy改为集群。

标签: cluster-analysis subset k-means


【解决方案1】:

也许天真地,我从一种频谱估计的角度来看待问题。假设我有 10 个向量。我可以计算所有对之间的距离。在这种情况下,我会得到 45 个这样的距离。将它们绘制为各种距离范围内的直方图。例如。 10 个距离在 0.1 和 0.2 之间,5 个在 0.2 和 0.3 之间,等等,你就会知道向量之间的距离是如何分布的。从这些信息中,您可以选择 T1 和 T2(例如,选择它们以覆盖人口最多的距离范围)。

当然,这对于大型数据集是不切实际的 - 但您可以随机抽取样本或其他东西,这样您至少知道 T1 和 T2 的大致情况。使用 Hadoop 之类的东西,您可以对大量点进行某种先验光谱估计。如果您尝试聚类的所有传入数据都以几乎相同的方式分布,那么您只需获取 T1 和 T2 一次,然后将它们修复为所有未来运行的常量。

【讨论】:

    【解决方案2】:

    实际上,这是 Canopy Clustering 的大问题。选择阈值与实际算法一样困难。特别是在高维度。对于 2D 地理数据集,领域专家可能可以轻松定义距离阈值。但在高维数据中,您能做的最好的可能是首先对数据样本运行 k-means,然后根据该样本运行选择距离。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多