用于几乎均匀分布的数据的高效聚类算法

时间:2016-05-16 19:29:23

标签: algorithm machine-learning nlp cluster-analysis

我正在玩自然语言处理,我试图聚集新闻文章标题。我将标题转换为矢量,但它们几乎均匀分布。有2-3篇新闻文章的小集群,但大多数新闻文章应该在他们自己的集群中。

我尝试使用k-means,但文章很少更改群集,因为数据相当统一。最初的随机簇最终成为最终的簇。

我尝试了凝聚聚类,它适用于小型数据集(几百篇文章)。但是,它需要很长时间,因为它至少是O(n ^ 2)。

是否有任何有效的算法来聚类几乎均匀分布的数据?

例如,如果我的数据是一组实数,它可能如下所示:

1 2 3 4 4.1 5 6

在这种情况下,群集应该是:(1),(2),(3),(4,4.1),(5),(6)。 除了凝聚聚类之外,还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

  1. 对数据进行排序。
  2. 选择一个阈值(参见步骤4)
  3. 迭代您的数据
  4. 如果当前群集的当前值和第一个值之间的差异小于阈值,则将它们放入同一群集中,否则启动新群集。
  5. 由于排序,这应该是O(n log n)。