2015-10-12 74 views
0

我正在做一个将位置相关数据作为输入的项目(例如某个x,y坐标处的某个信号放大器)。我试图将它们按距离聚类,这意味着在被视为新簇之前,获得的簇至少相互之间有一定的距离。即永远不会有质心在彼此之下的特定距离以下的群集。按距离聚类

我的问题是,如果任何人都可以指出我这个算法的正确方向?我已经尝试过K-Means,但它似乎只是按照规定将它们按K簇排序,而不是按距离排序。

+0

QuickShift是一种聚类算法,它采用集群IIRC中样本之间的最大距离。 – ChronoTrigger

+0

你打算考虑除了_distance_以外的其他数据进行聚类吗?另外,通过信号你的意思是无线电信号等? – displayName

+1

** DBSCAN **怎么样? –

回答

1

您需要考虑此约束(最小距离)的聚类算法。一个简单的解决方案是做一个后处理步骤,在那里你合并所有相互靠得太近的集群,直到满足你的约束条件。

可能会给出更令人满意的结果的解决方案是改变k均值算法在每次迭代中执行此操作。

如果您需要修复的群集数量,您的问题就会变得更加棘手。集群的其他约束/目标是什么?

0

就我所知,您希望任何群集的质心都放置在离不同群集最小的预选距离处。如果是,我认为你应该注意k-means clustering及其变化。