教師なし学習アルゴリズムが使用するラベルの名前を制御することは、一般的に問題になる可能性があります。クラスタリングを行った後、データのいくつかの特徴を評価して、ラベルが希望どおりかどうかを確認することをお勧めします。
すべてのデータが X (N xd) 行列にあり、ラベル ベクトル Y(N x 1) の値が -1 と 1 である場合、各クラスターの分散を評価できます。ノイズ データはより高い分散を示すと思われます。これを使用して、ラベルを切り替える必要があるかどうかを確認できます。
以下のコードでは、1 は非ノイズであり、-1 はノイズである必要があります (このラベル (グループ) の選択により、ラベルの反転が容易になります)。
%#Variance summed over all dimensions
varL1 = sum(var(X(Y==1,:)));
varL2= sum(var(X(Y==-1,:)));
%#Flip labels if if L1 is higher than L2
if varL1 > varL2
Y = Y * (-1);
end
これが機能する場合は、後でノイズ クラスタをグループ 1 に、非ノイズ クラスタをグループ 2 に変更できます。
Y(Y==1) = 2; %#NB: The order of which these statements are evaluated is important.
Y(Y==-1) = 1;