2017-01-12 7 views
-1

私はいくつかのデータセット、500x39マトリックスでMatlabの組み込み関数を使っていくつかのk-meansクラスタリングを行ってきました。 7つのクラスタを選択する。 From:別の関数でのクラスタリングインデックスの使用

[idx,C] = kmeans(Data',No_Clusters)

私は私のクラスタ索引、IDX(39x1)、および重心の位置、C(500x7)を取得します。

このidx出力と私のデータセットは、オンラインで入手可能なマルチブロックPCA機能(http://www.models.life.ku.dk/~courses/MBtoolbox/mbtmain.htm)で使用したいと考えています。だから私のidxは

idx = 5 4 1 5 7 3 2 6 7 1 3 ... 

のデータセットの各列についてです。私は

[3,10][7][6,11][2][1,4][8][5,9] 

私に[]クラスタidxのためのデータセット内の列に対応し、各番号を与えるためにそれを手配します。

答えて

0

あなたはこれが何を基本的にそれぞれ一意のインデックスの場所

result = accumarray(idx(:), (1:numel(idx)).', [], @(x){x}) 

を決定するためにaccumarrayを使用することができ、それは、「グループ」の値(列インデックスがに対応するためにあなたのidx arrray(最初の入力)を使用していることです各値は第2の入力として指定されている)を一緒にして、各グループに対して操作を実行します。この操作は、グループ内のすべての値をセル配列に配置する単純な無名関数です。

+0

ありがとうございました – MRaff16

関連する問題