是否有任何算法可以检查数据中是否存在聚类?

时间:2017-05-24 09:53:11

标签: validation machine-learning cluster-analysis k-means correlation

简而言之:我正在使用 k-means 聚类与相关距离。如何检查,应该使用多少个群集,(如果有)

在分组数据时,如何建立多个群集有许多索引和答案: example 1example 2等。目前,我正在使用Dunn's index,但由于下述原因之一,这还不够。

所有这些方法至少表现出以下一个问题,我必须避免:

索引:

  • 聚类质量指数推导对数据协方差矩阵做出一些假设,即因为这样的时刻只适用欧几里德或类似欧几里德的指标 - 相关性不再是一种选择
  • 它需要至少两个非空集群来比较已经计算过的分区 - 没有可能说明是否有任何理由进行分组

聚类方法:

  • 聚类方法估计聚类数量本身(例如,亲和力传播)要慢得多,并且不能很好地扩展

总结:是否有任何标准或索引,可以检查数据中存在的数据(可能估计它们的数量),而不限制使用的指标?

编辑:我正在操作的空间有几千个功能。

1 个答案:

答案 0 :(得分:0)

我有一种方法,但这是我自己的发明,而不是实验性的。虽然理论上它在多维度上起作用,但我在2D中只取得了任何成功(如果聚类多维数据,则采用前两个主要成分)。

我称之为引力聚类。你传入一个涂片,然后使用1 /(d +涂片)^ 2在每个点上产生一个吸引力(涂抹防止值变为无穷大,并控制聚类的粒度)。指出他们在能量场上坡移动到当地最大值。如果他们都移动到同一点,你就没有集群,如果他们移动到不同的点,你有集群,如果他们都保持在他们自己的本地最大值,再次你没有集群。