我使用kmeans
對NxM
矩陣的行進行聚類。根據唯一值頻率對矢量排序
clustIdx = kmeans(data, N_CLUST, 'EmptyAction', 'drop');
然後我重新安排我的矩陣的行以使得相鄰行是每次運行聚類分析我得到更多的或相同的簇更少的時間在同一個集羣
dataClustered = data(clustIdx,:);
然而,在但具有不同的身份。因此,dataClustered
中的結構在每次迭代後看起來相同,但組的順序不同。
我想重新安排我的羣集身份,以便較低的羣集標識代表密集羣集,較高的數字代表稀疏羣集。
有沒有一種簡單和/或直觀的方式來做到這一點?
即。轉換
clustIdx = [1 2 3 2 3 2 4 4 4 4];
到
clustIdx = [4 2 3 2 3 2 1 1 1 1]
的身份本身是任意的信息包含在分組。
+1只是有一個建議一個NX2矩陣。你可以用'map(sortIdx)= 1:numel(sortIdx)替換第二個'sort';' - 可以更快一點。這實質上是一個逆置換。 – angainor
@angainor:謝謝!這更優雅。 – Jonas