- 10
- 0
- 约3.28千字
- 约 11页
- 2019-08-21 发布于河北
- 举报
matlab(K均值)
K-均值算法MATLAB
PAGE 1
作业——K-均值算法
本题模式样本共有10个,聚类数目K取为3。在该MATLAB实现的算法中,本算法使用cell变成单元数据进行初始化和聚类保存,选择该样本集中的前3个样本作为初始聚类中心,按照最小距离原则将样本分配到各个聚类中,计算新的聚类中心,与之前的聚类中心比较。若不同则继续迭代,若相同则算法收敛,停止计算,得到聚类中心和聚类结果见附图。
程序:
X=input(请输入样本数据矩阵:);
m=size(X,1);
n=size(X,2);
counter=0;
k=input(请输入聚类数目:);
while km
disp(您输入的聚类数目过大,请输入正确的k值);
k=input(请输入聚类数目:);
end
if k==1
disp(聚类数目不能为1,请输入正确的k值);
k=input(请输入聚类数目:);
end
%产生k个零矩阵,M用来存放聚类中心
M=cell(1,m);
for i=1:k
M{1,i}=zeros(1,n);
end
Mold=cell(1,m);
for i=1:k
Mold{1,i}=zeros(1,n);
end
%选择模式样本数据的前K个样本作为初始聚类中心
for i=1:k
M{1,i}=X(i,:);
end
while
原创力文档

文档评论(0)