我有一组分布在任意3D表面上的点的xyz坐标。(大约50000)我需要根据空间邻近度将这些点分组到10个域中,每个域包含大约1/10的数据点。基本上在表面上有10个表面补丁。谢谢。
发布于 2010-10-30 11:54:54
看起来你想要一个聚类算法。
我之前对k-means++很幸运。
有关k均值算法的信息,请参阅http://en.wikipedia.org/wiki/K-means_clustering
k-means++变体的http://en.wikipedia.org/wiki/K-means%2B%2B。
发布于 2010-10-30 12:03:43
有了K-means,你可能会得到0点的聚类。处理这种退化的情况并不难,但我不知道k-means++是否这样做。你也可以看看Cluto,它实现了一系列不同的聚类算法。希望其中的一个能满足你的需求。如果您的要求很严格,即您想要10个分区,每个分区中有1/10个点,那么可以使用图分区聚类算法。它们也是在Cluto中实现的
https://stackoverflow.com/questions/4057155
复制相似问题