【发布时间】:2013-07-08 07:55:28
【问题描述】:
我在一个平面(一个城市)上有很多点(纬度和经度),我想找到两个集群。簇 1 是杂乱无章的点,簇 2 是其他所有点。
我知道问题的定义并不准确。唯一定义的是我需要正好 2 个集群。在 N 个点中,有多少最终在集群 1 或集群 2 中没有定义。
主要目的是识别彼此非常接近的点并将它们与其他点分开(分布更均匀)
我能想到的最好的是以下算法:
1. For each point, Calculate the sum of the square distances to all other points.
2. Run the k-means with k=2 on these square distances
距离的平方(甚至更高阶)应该有助于提高维度。然而,该算法将偏向城市中心附近的点。它很难在城市边缘找到集群。
关于如何避免这个问题的任何建议?以及任何其他改进此算法的建议
【问题讨论】:
-
也许这个对你有帮助:stackoverflow.com/questions/17112719/…
-
集群1需要是连通空间吗?在街道的意义上(没有集群 2 的点),或者类似的点对齐(没有集群 2 的点)?
-
@fordprefect 哇,我希望它比答案中提供的描述更简单。由于我不是数学家,所以我需要一些时间才能理解所讲的内容。
-
@MrK - 我不确定我是否理解,这些只是点,这些点之间没有边的概念。但是,如果您愿意,您可以将整个图视为完全连通的。
标签: algorithm k-means approximation