• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: Kmeans算法  

资源简介

Matlab实现K-means算法,该算法是针对Iris鸢尾花数据集的实验

资源截图

代码片段和文件信息

function result=K_means(datakinitset)
    [rowscolumns]=size(data);%获取数据的行列
    for i=1:k
    data(initset(i)columns+1)=i;%初始聚簇代表确定
    oldClusetCenter(i:)=data(initset(i)1:columns);
    oldClusterRows{i}=initset(i);%初始第i簇的行号
    end
    %结束标记
    flag=1;
    %迭代次数
    iteratenum=0;
    
    while(flag==1)
        iteratenum=iteratenum+1;
        fprintf(‘-第%d次迭代:\n‘iteratenum);
        flag=0;
       %计算欧几里得距离,划分簇
       for ii=1:rows
           for jj=1:k
                res=(data(ii1:columns)-oldClusetCenter(jj:)).*(data(ii1:columns)-oldClusetCenter(jj:));
                dist(jj)=sqrt(sum(res));%dist矩阵存放欧几里得距离
           end
           data(iicolumns+1)=find(dist==min(dist));%最小欧几里得距离,划分簇
           dist(1:k)=0;%距离置零
       

评论

共有 条评论