我已经通过两种不同的算法将3个群集中的iris
数据集聚类。它们都提供了3个簇--1,2和3.尽管目视检查表明映射“1 - > 3“,”2 - > 2“和”3 - > 1”
有没有办法以编程方式映射以下两个结果?
ClustersByMethod1 <- c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,3,3,3,3,2,3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,3,2,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,3,3,3,2,3,3,3,2,3,3,2)
ClustersByMethod2 <- c(3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,1,1,1,2,1,1,1,1,1,1,2,2,1,1,1,1,2,1,2,1,2,1,1,2,2,1,1,1,1,1,2,1,1,1,1,2,1,1,1,2,1,1,1,2,1,1,2)
答案 0 :(得分:0)
这通常不是一个简单的问题。
如果计算两个矢量之间的相关性,则视觉检查会转换为具有高相关性的矩阵,但是接近1的值不会位于对角线上。因此,您正在搜索第二个向量的值的置换,以在对角线上获得最大权重(即,高值接近1)。这对于3个群集来说很容易,但对于更多的群集则不行。
有解决这个问题的方法(通常是匈牙利语&#39;算法或Munkres-Kuhn),但我不了解R中的实现。
希望这有点帮助。