2016-07-05 60 views
0

我通過兩種不同算法將3個聚類中的iris數據集聚類在一起。儘管視覺檢查表明映射「1→3」,「2→2」和「3→1」通過兩種不同算法在聚類結果中進行映射R

有沒有任何方法可以映射編程的以下兩個結果?

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

這通常不是一個簡單的問題。

如果您計算兩個向量之間的相關性,則視覺檢測將轉換爲具有高相關性的矩陣,但值接近1的值並不坐在對角線上。因此,您正在尋找第二個向量的值的置換,以便在對角線上獲得最大權重(即高值接近1)。對於3個羣集來說這很容易,但對於更多數量的羣集來說不會那麼容易。

有一些方法來解決這個問題(通常由「匈牙利」算法或的Munkres - 庫恩),但我不知道在R.

希望這有助於一點點實現。

+0

一種方法可能是,從兩個方法中獲取中心(從主數據)並進行比較。最近/相似的中心可以被映射。 – Shiv

+0

剛看到,解決方案發布在http://www.r-bloggers.com/matching-clustering-solutions-using-the-hungarian-method/ – Shiv

相關問題