MATLAB で k-means を使用しています。有効なクラスターを処理するには、クラスターの位置が変化しなくなるまでループする必要があります。ループは反復プロセスを示します。
そのクラスタリングプロセスで発生するループ/反復の回数を数えたいと思います。ループ/反復処理部分のスニペットは次のとおりです。
while 1,
d=DistMatrix3(data,c); %// calculate the distance
[z,g]=min(d,[],2); %// set the matrix g group
if g==temp, %// if the iteration does not change anymore
break; %// stop the iteration
else
temp=g; %// copy the matrix to the temporary variable
end
for i=1:k
f=find(g==i);
if f %// calculate the new centroid
c(i,:)=mean(data(find(g==i),:),1);
end
end
end
私がしなければならないことは、反復変数を定義してから、計算部分を記述することだけです。しかし、どこで変数を定義する必要がありますか? そしてどうやって?
すべての答えは非常に高く評価されます。
ありがとうございました。