k-means clustering algorithm

1 次查看(过去 30 天)
AS
AS 2020-7-8
I have a data with dimension 1801 by 88, to be clustered into k regions. Intially, all the centres are assigned randomly. the 'i' th data , sig is assigned to the nearest data cluster, c based on minimum Euclidean distance, where i=1:1801 and j=1:k. After completeing the assigning process for all the data, the new position of centre is measured according to
I have written the accordingly, but is not run and I am unable to understand about new position of the centre, although I have written. But not clear to me. How to add number of iteration in this code.
please help me
load signal.dat;
sig=signal(:,1:88);
[maxrow,maxcol]=size(sig);
k=1;
for i=1:k
p(i,:)=randperm(size(sig,1));
end
for i=1:k
for j=1:88
c(i,j)=sig(p(i),j);%random initialization
end
end
temp=zeros(maxrow,1);
while 1
for i1=1:1801
for j=1:88
d(:,j)=sum(dist2(sig(:,j),c(1,j)));
end
[z,g]=max(d,[],1);
if g==temp
break;
else
temp=g;
end
for i=1:k
f=find(g==i);
if f
c(i,:)=mean(sig(find(g==i),:),1);
end
end
end
end

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Cluster Analysis and Anomaly Detection 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by