我目前面临一个无监督学习任务,即使用聚类的方法。更具体地说,它是一个分段任务,因此有一些关于 a) 聚类数量和 b) 每个分段的粗略内容的先验知识。从文学作品来看,这似乎是一个典型的例子,“受约束的 k-means”将发挥作用,我真的很想尝试一下。上述两个先验知识都可以合并到“受约束的k-means”中,因为a)由k表示,b)可以用“必须链接约束”表示。(有关受约束的 k 均值的一个很好的概述,请参阅 Wagstaff、Cardie、Rogers、Schrödl 和其他人 (2001)。)
我现在的问题是我在 CRAN 上的 R 中找不到合适的实现。根据伪代码,我自己在 R 中编程是可以的,但我的编程肯定不够高效,因为我们谈论的是一个有点大的数据集(75.000 x 30)。
因此,我求助于这个社区,希望有人在 R 中找到了“受约束的 k-means”的有效实现,或者愿意提供一些有效的代码。
非常感谢你,
克莱门斯
2016 年 6 月 23 日更新:感谢您到目前为止的回复。为了使问题更简洁,请在此处查看示例数据文件。(注意:这不是我原始数据的摘录,因为它是高度敏感的,而是具有相同特征的人工数据集(尽管行数更少))
简单约束的两个示例:
- 所有在 v305 中为 1 或在 v306 中为 1 的观测值都必须链接(必须链接约束)
- 所有在 v258 和 v262 中为 1 的观测值都必须链接(必须链接约束)
目前正在查看您的建议,Rahul。非常感谢。