我正在寻找最快的算法,通过距离将地图上的点分组为相同大小的组.在K-均值聚类算法看起来简单的和有希望的,但不会产生同样大小的组.
是否存在此算法的变体或不同的算法,允许所有群集的成员数相等?
另请参见:对具有相同大小的k个簇中的n个点进行分组
我有一组数据聚类到k组,每个聚类的最小大小约束为m
我做了一些重新复制的数据.所以现在我得到了这一组点,每个点都有一个或多个更好的簇,但不能单独切换,因为它会违反大小约束.
目标:最小化从每个点到其中心的距离之和.
受制于:最小簇大小m
我想找到一种算法来重新分配所有点而不违反约束,同时保证减少目标.
我想过使用Graph来表示点之间的成对关系.但我不确定如何进行重新分配,因为它存在大密集循环的可能性,而且我在多个集群之间交换多个点时迷失了方向.
我还创建了一个具有可能的交换候选者的聚类对列表,但仍然无法找到最佳目标的方法.
我希望我解释了我的情况.我是算法新手,不熟悉行话和规则.如果需要任何其他信息,请告诉我.
我已经做了很多研究,我已经在本文中尝试了算法,但没有成功,因为会员度的总和不一定与簇大小相关. 使用大小约束进行聚类
我还在SO上阅读了其他类似的帖子,但没有找到我可以实现的详细算法.
我试图构建一个加权有向图,顶点表示簇,A到B的边表示簇A中的点,它们愿意重新定位到簇B.并且权重是点的总和
但是根据我的数据,结果表明所有节点都处于一个边缘非常密集的巨大周期中.由于我的经验有限,我仍然无法弄清楚如何在如此多的集群中重新分配.任何建议表示赞赏!
像这样的东西.
