clustering.m

来自「模式识别中的K均值算法」· M 代码 · 共 22 行

M
22
字号
function [KindData,KindNum]=Clustering(Center,Data)  %对数据进行分类
[DataRow,DataColumn]=size(Data);
[CenterRow,CenterColumn]=size(Center);
KindData=zeros(DataRow,DataColumn,CenterColumn);
KindNum=linspace(0,0,CenterColumn);
for i=1:DataColumn
    Distance=linspace(0,0,CenterColumn);
    for j=1:CenterColumn  %中心点个数
        for k=1:DataRow  %维数
            Distance(j)=Distance(j)+(Data(k,i)-Center(k,j)).^2;
        end
    end
    Distance=sqrt(Distance);  %取模值
    [X,Y]=min(Distance); %返回最小值与列数(列数即时哪一个中心点)
    KindData(:,KindNum(Y)+1,Y)=Data(:,i); %第i个数据分到其距离小的类中
    KindNum(Y)=KindNum(Y)+1;  %分别对各中心的分类计数
end
% KindData;
% KindNum;
    
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?