• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: Matlab
  • 标签: k-means  matlab  

资源简介

K-means,传统计算K均值的一种聚类算法,因其复杂度抵而应用最为普遍的一种聚类方法

资源截图

代码片段和文件信息

%N是数据一共分多少类
%data是输入的不带分类标号的数据
%u是每一类的中心
%re是返回的带分类标号的数据
function [u re]=KMeans(dataN)   
    [m n]=size(data);   %m是数据个数,n是数据维数
    ma=zeros(n);        %每一维最大的数
    mi=zeros(n);        %每一维最小的数
    u=zeros(Nn);       %随机初始化,最终迭代到每一类的中心位置
    for i=1:n
       ma(i)=max(data(:i));    %每一维最大的数
       mi(i)=min(data(:i));    %每一维最小的数
       for j=1:N
            u(ji)=ma(i)+(mi(i)-ma(i))*rand();  %随机初始化,不过还是在每一维[min max]中初始化好些
       end      
    end
   
    while 1
        pre_u=u;            %上一次求得的中心位置
        for i=1:N
            tmp{i}=[];      % 公式一中的x(i)-uj为公式一实现做准备
            for j=1:m
                tmp{i}=[tmp{i};data(j:)-u(i:)];
            end
        end
        
        quan=zero

评论

共有 条评论