最短距离聚类的matlab实现

说明:正文中命令部分可以直接在Matlab中运行,作者(Yangfd09)在

MATLAB R2009a(7.8.0.347)中运行通过

%最短距离聚类

%说明:此程序的优点在于每一步都是自己编写的,很少用matlab现成的指令,

%所以更适合于初学者,有助于理解各种标准化方法和距离计算方法。

%程序包含了极差标准化(两种方法)、中心化、标准差标准化、总和标准化和极大值标准化等标准化方法,

%以及绝对值距离、欧氏距离、明科夫斯基距离和切比雪夫距离等距离计算方法。

%==========================>>导入数据<<============================== %变量存放在data.mat中,变量名为test

%数据要求:m行n列,m为要素个数,n为区域个数

load data.mat

testdata=test;

%============================>>标准化<<=============================== %变量初始化,m用来寻找每行的最大值,n找最小值,s记录每行数据的和

[M,N]=size(testdata);m=zeros(1,M);n=9999*ones(1,M);s=zeros(1,M);eq=zeros(1,M);

%为m、n和s赋值

for i=1:M

for j=1:N

if testdata(i,j)>=m(i)

m(i)=testdata(i,j);

end

if testdata(i,j)<=n(i)

n(i)=testdata(i,j);

end

s(i)=s(i)+testdata(i,j);

end

eq(i)=s(i)/N;

end

%sigma0是离差平方和,sigma是标准差

sigma0=zeros(M);

for i=1:M

for j=1:N

sigma0(i)=sigma0(i)+(testdata(i,j)-eq(i))^2;

end

end

sigma=sqrt(sigma0/N);

jicha=m-n;

%极差标准化(两种方法)、中心化、标准差标准化、总和标准化和极大值标准化。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐