python - 具有特定大小的组的聚类

标签 python language-agnostic artificial-intelligence cluster-analysis

是否有任何类型的聚类算法专注于形成特定大小的聚类?这可以将我们视为一种分组算法,而不是一种聚类算法。

基本上,给定 n 个数据点和一定大小 k 的固定组,根据某些分类器找到点到集合的最佳分布,这将有望最小化给定组中每个点的分类器距离。

这个问题似乎与聚类问题非常相似,但主要区别在于我们关心特定的聚类大小,而不关心聚类的数量。

最佳答案

有一个关于如何在 ELKI 中实现此类算法的教程:

http://elki.dbs.ifi.lmu.de/wiki/Tutorial/SameSizeKMeans

还可以看看约束聚类算法;尽管通常这些算法仅支持“必须链接”和“不能链接”约束,而不支持大小约束。

您应该能够进行类似的修改,首先指定组大小,然后随机分配点,并在目标函数改进时交换集群成员;类似于 k-means/k-medoids。由于您可能会陷入局部最小值,因此请重新启动多次并只保留最好的。

另请参阅之前的问题,例如 K-means algorithm variation with equal cluster sizeGroup n points in k clusters of equal size

关于python - 具有特定大小的组的聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23588329/

相关文章:

regex - 查找/替换功能允许边界替换而不是表达式

python - 需要更改 A* 算法,以便它可以与代理轮换一起使用

python - 在没有 numpy 的情况下制作多维数组的好方法

Python - 如何在作为变量的 Unicode 字符上查找字符串?

Python:为字典中的元组排列添加值和删除条目

Python 3 字符串索引查找是 O(1)?

language-agnostic - 设计模式 : managing a limited number of a resource

algorithm - 在哪里可以找到 O(n^2) 和 O(n) 等的含义?

artificial-intelligence - 人工智能和机器学习中的随机性

azure - Azure是否具有任何机器人流程自动化(RPA)功能?