重新排序群集号以获得正确的对应关系

时间:2016-07-20 23:08:56

标签: python python-2.7 cluster-analysis permutation

我有一个使用两种不同的聚类算法聚类的数据集。结果大致相同,但群集号被置换。 现在,为了显示颜色编码标签,我希望标签ID对于相同的簇是相同的。 如何在两个标签ID之间进行正确的排列?

我可以使用蛮力来做到这一点,但也许有更好/更快的方法。我非常感谢任何帮助或指示。如果可能的话,我正在寻找一个python函数。

2 个答案:

答案 0 :(得分:2)

找到最佳匹配的最着名的算法是匈牙利方法

因为无法用几句话来解释,我必须推荐您选择一本书,或Wikipedia article "Hungarian algorithm"

你可以通过简单地选择对应矩阵的最大值然后删除该行和列来获得良好的结果(即使差异确实很小也是完美的)。

答案 1 :(得分:0)

我有一个对我有用的功能。但是,当两个聚类结果非常不一致时,它可能会失败,从而导致列联矩阵中的最大值重复。如果您的样本量很大,这种情况很少会发生。

这是我的代码:

site