如何按近距离对一组中的对象进行分组?

car*_*ier 5 algorithm cluster-analysis machine-learning

我有一个包含数千个地址的集合.如果我可以获得每个地址的经度和纬度,如何通过接近度将集合分组?

此外,我可能想根据不同的规则重试'群集':

  • N组
  • 每组M个地址
  • 组中任何地址之间的最大距离

Fab*_*eeg 10

你可以试试k-means聚类算法.


fbo*_*net 5

您想要矢量量化:

http://en.wikipedia.org/wiki/Vector_quantization

它的工作原理是将一大组点(向量)划分为具有最接近点的数量几乎相同的点的组。每个组都由其质心点表示,就像在k均值和其他聚类算法中一样。

这里的向量是每个地址的地理坐标,您可以根据自己的约束(接近度,组大小,组数...)向算法提供其他参数。

您可以从k均值开始,但是根据我的经验,基于Voronoi的算法更加灵活。这里很好的介绍。