我在 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
我所要做的就是定义迭代变量,然后编写计算部分。但是,我必须在哪里定义变量?如何?
所有的答案将不胜感激。
谢谢你。