-1

したがって、いくつかのクラスタリングアルゴリズムを実装し、データを正規化し、正規化がある場合とない場合のクラスタリングを比較するアルゴリズムを作成することになっています。

私が実装したのは非常に単純で、最小-最大正規化(Matlab btwを使用しています)だけです。

 function [dataNorm] = nMinMax(data)
 [x, y] = size(data);
 dataNorm = zeros(x, y);

 for j = 1:y
     m = min(data(:,j));
     M = max(data(:,j));
     for i = 1:x
         n = (data(i,j) - m)/(M-m);
         dataNorm(i,j) = n;
     end
 end  
 end

そして、これは私が正規化なしのクラスタリングから得たものです:

ここに画像の説明を入力してください

今、それは奇妙になるところです、正規化の後、これは私が得るものです:

ここに画像の説明を入力してください

結果が改善されたはずだと思ったとき、クラスターは同じです...

だから私の質問は、私のアルゴリズムに問題がありますか、それとも結果を間違った方法で解釈していますか?そして私がそうなら、正規化後のクラスターはどのように見えるべきですか?

4

1 に答える 1

0

あなたの 2 番目のプロットは正しくありません。

正規化されたクラスターの中心をプロットしていますが、正規化されていないデータセットをプロットしています。正規化後、データは [0:1] の範囲内にある必要がありますが、明らかにそうではありませんが、クラスターの平均はそうです。それらが 0:1 ボックス内にあることに気付きましたか?

それらが一致しないのも不思議ではありません。正規化されたデータ セットをプロットするか、クラスターの中心に逆正規化を適用して、正規化されていない位置を取得します。

ただし、元のデータセットは「ほぼ正方形」です。X 軸と Y 軸の値の範囲は同じで、約 -6 ~ +6 です。また、X と Y の差は明らかにクラスター分離よりも小さくなっています。したがって、このデータセットで正規化の効果が見られなくても驚くことではありません。軸のスケーリングが大幅に異なり、クラスターのサイズ (オブジェクトの数)、拡張 (空間サイズ) および形状が異なり、クラスターが明確に分離されていない、より厳密なデータ セットを試してください。

于 2012-11-29T09:05:38.750 に答える