我遇到了以下问题:
假设我们有一组 n
个样本,我们想将其分类为标记为 1-k
的 k
类。我们运行 M
种不同的聚类算法,得到 M
种不同的输出结果。问题是,在不同的输出结果中,相同的聚类可能会被赋予不同的标签。
如何找到所有输出结果之间的共同聚类?我认为显而易见的解决方案是对所有可能的样本对进行遍历,检查它们在每个输出结果中是否被归类为同一类别。这会带来 O(n^2*M)
的复杂度。
我们能否做得更好(也许可以加入一些假设)?
谢谢。
编辑
下面以一个例子说明。我们有4个样本,k=2,并得到以下输出结果:
A 1 1 2
B 1 1 2
C 2 2 1
D 1 1 1
在所有输出中,唯一常见的聚类是(A,B),因为它是唯一一个在所有输出中都被分类相同的一对。