资源简介

自适应K-均值聚类算法,能够随着聚簇数目的变化而自动调整聚类数,以最合适的聚簇数目来进行数据分类。

资源截图

代码片段和文件信息

function group=Kmeans(kmid)
%K均值聚类算法
person=load(‘sample.txt‘‘height‘‘weight‘);%从文本文件读入数据放入person结构体中
% person=person(1:10:);
num=size(person1);%获得person结构体大小
for i=1:k%赋初始值,划分为k类,每类只有选定的k个对象中的一个对象,每类的中心为选定的k个对象的值
    class{i}(1)=mid(i);
    middle(i1)=person(mid(i)1);
    middle(i2)=person(mid(i)2);
end

distance=ComputDistance(personmiddlenumk);%计算每个样本跟各类中心的距离
temp=cell(size(class));
flag=isSL(tempclassk);
while flag==0%当分类不收敛的时候
    temp=class;
    class=cell(size(temp));
    for i=1:num
        [valueindex]=min(distance(i:)); %找到每个样本距离哪个类最近
        dtemp=[i];
        class{index}=[class{index}dtemp];  %将该样本划分到距离最近的类中
    end
    middle=ComputMid(personclassk);%重新计算各类中心点
    distance=ComputDistance(personmiddlenumk);%重新计算各样本与各类的距离
    flag=i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2259  2014-05-29 19:59  Kmeans.m

评论

共有 条评论