聚类分析课程设计.docx

上传人:b****1 文档编号:13358619 上传时间:2023-06-13 格式:DOCX 页数:9 大小:92.36KB
下载 相关 举报
聚类分析课程设计.docx_第1页
第1页 / 共9页
聚类分析课程设计.docx_第2页
第2页 / 共9页
聚类分析课程设计.docx_第3页
第3页 / 共9页
聚类分析课程设计.docx_第4页
第4页 / 共9页
聚类分析课程设计.docx_第5页
第5页 / 共9页
聚类分析课程设计.docx_第6页
第6页 / 共9页
聚类分析课程设计.docx_第7页
第7页 / 共9页
聚类分析课程设计.docx_第8页
第8页 / 共9页
聚类分析课程设计.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

聚类分析课程设计.docx

《聚类分析课程设计.docx》由会员分享,可在线阅读,更多相关《聚类分析课程设计.docx(9页珍藏版)》请在冰点文库上搜索。

聚类分析课程设计.docx

聚类分析课程设计

《空间分析》

系统聚类算法及编程实现

学院:

地质工程与测绘学院

专业:

遥感科学与技术

班级:

2011260601

学号:

学生姓名:

指导老师:

第1章前言3

第2章算法设计背景3

2.1聚类要素的数据处理3

2.2距离的计算5

第3章算法思想与编程实现5

3.1算法思想5

3.2用Matlab编程实现6

第4章课程设计总结10

主要参考文献11

第一章前言

本课题是根据李斌老师所教授的《空间分析》课程内容及要求而选定的,是对于系统聚类算法的分析研究及利用相关软件的编程而实现系统聚类。

研究的是系统聚类算法的分析及编程实现,空间聚类的目的是对空间物体的集群性进行分析,将其分为几个不同的子群(类)。

子群的形成的是地理系统运作的结果,根据此可以揭示某种地理机制。

此外,子群可以作为其它分析的基础,例如,公共设施的建立一般地说是根据居民点群的分布,而不是具体的居民住宅的分布来布置的,因此需要对居民点群进行聚类分析以形成若干居民点子群,这样便于简化问题,突出重点。

空间聚类可以采用不同的算法过程。

在分析之初假定n个点自成一类,然

后逐步合并,这样在聚类的过程中,分类将越来越少,直至聚至一个适当的分类数目,这一聚类过程称之为系统聚类。

常见的聚类分析方法有系统聚类法、动态聚类法和模糊聚类法等。

下面主要介绍系统聚类算法,并基于Matlab软

件来实现算法的编程。

第二章算法设计背景

2.1聚类要素的数据处理

假设有m个聚类的对象,每一个聚类对象都有个要素构成。

它们所对应的要素数据可用表3.4.1给出。

在聚类分析中,常用的聚类要素的数据处理方法有如下几种。

聚类对象

要素

阳也A,心A,

1

殆知A>切h*g

2

忑21“22A>兀J』Af孟2抑

k

MMMMMM

兀LX垢八「龙扩h、xin

k

MMMMMM

0gA,%Afg

①总和标准化

殆=——=12A,淤;j=1,2,A,方)

2>i/

i-l

且乞对i(7=12AE)

i-l

 

③极大值标准化

 

经过这种标准化所得的新数据,各要素的极大值为1,其余各数值小于i

经过这种标准化所得的新数据,各要素的极大值为1,极小值为0,其余的数值均在0与1之间。

2.2距离的计算

距离是事物之间差异性的测度,差异性越大,则相似性越小,所以距离是系统聚类分析的依据和基础。

(D

巨离

 

3明科夫斯基距禽

应材=221爲取_現隅

L.j

4切比雪夫距离

当明科夫斯基距戸T8时裏有

选择不同的距离,聚类结果会有所差异。

在地理分区和分类研究中,往往采用几种距离进行计算、对比,选择一种较为合适的距离进行聚类

第三章算法思想与编程实现

3.1算法思想

我们已经指出系统聚类方法首先将n个空间点看做是n个子群,然后根据

所选用的聚类统计量来计算n个子群之间的关系。

对于距离,计算n个子群

两两之间的距离,首先选择距离最近的两个子群(点)归为一个新的子群,这样就得到n-1个子群两两之间的聚类统计量,继续选择距离最近的子群合并,再得到n-2个子群……,依此类推,直到所有的子群全部合并。

3.2用Matlab编程实现

运用Matlab中的一些基本矩阵计算方法,通过自己编程实现聚类算法,在此只讨论根据最短距离规则聚类的方法。

调用函数:

minl.m——求矩阵最小值,返回最小值所在行和列以及值的大小

min2.m比较两数大小,返回较小值

stdl.m用极差标准化法标准化矩阵

dsl.m用绝对值距离法求距离矩阵

cluster.m――应用最短距离聚类法进行聚类分析

printl.m调用各子函数,显示聚类结果

聚类分析算法

假设距离矩阵为vector,a阶,矩阵中最大值为max,令矩阵上三角元素等于

max

聚类次数=a-1,以下步骤作a-1次循环:

求改变后矩阵的阶数,计作c

求矩阵最小值,返回最小值所在行e和列f以及值的大小g

forl=1:

c,为vector(c+1,l)赋值,产生新类

令第c+1列元素,第e行和第f行所有元素为,第e列和第f列所有元素为max

源程序如下:

%std1.m,用极差标准化法标准化矩阵

functionstd=std1(vector)

max=max(vector);%对歹U求最大值

min=min(vector);

[a,b]=size(vector);%巨阵大小,a为行数,b为列数

fori=1:

a

forj=1:

b

std(i,j)=(vector(ij)-min(j))/(max(j)-min(j));

end

end

%ds1.m用绝对值法求距离

functiond=ds1(vector);

[a,b]=size(vector);

d=zeros(a);

fori=1:

a

forj=1:

a

fork=1:

b

d(i,j)=d(i,j)+abs(vector(i,k)-vector(j,k));

end

end

end

fprintf('绝对值距离矩阵如下:

\n');

disp(d)

%minl.m求矩阵中最小值,并返回行列数及其值

function[v1,v2,v3]=min1(vector);%v1为行数,v2为列数,v3为其值

[v,v2]=min(min(vector'));

[v,v1]=min(min(vector));

v3=min(min(vector));

%min2.m比较两数大小,返回较小的值

functionv仁min(v2,v3);

ifv2>v3

v1=v3;

else

v仁v2;

end

%cluster.m,最短距离聚类法

functionresult=cluster(vector);

[a,b]=size(vector);

max=max(max(vector));

fori=1:

a

forj=i:

b

vector(i,j)=max;

end

end;

fork=1:

(b-1)

[c,d]=size(vector);

fprintf('第%g次聚类:

\n',k);

[e,f,g]=min1(vector);

fprintf('最小值=%g將第%g区和第%g区并为一类,记作

G%g\n\n',g,e,f,c+1);

forl=1:

c

ifl<=min2(e,f)

vector(c+1,l)=min2(vector(e,l),vector(f,l));

else

vector(c+1,l)=min2(vector(l,e),vector(l,f));

end

end;

vector(1:

c+1,c+1)=max;

vector(1:

c+1,e)=max;

vector(1:

c+1,f)=max;

vector(e,1:

c+1)=max;

vector(f,1:

c+1)=max;

end

%printl,调用各子函数

functionprint=print1(filename,a,b);%a为地区个数,b为指标数

fid=fopen(filename,'r')

vector=fscanf(fid,'%g',[ab]);

fprintf('标准化结果如下:

\n')

v1=std1(vector)

v2=ds1(v1);

cluster(v2);

%输出结果

print1('fname',9,7)

第四章课程设计总结

通过此次课程设计,对空间分析中的聚类分析有了更一步的了解和体会,尤其是对系统聚类分析有了深刻的掌握,基于Matlab软件的方便性和语言的简洁易懂性,基本完成了该次课程设计的程序编写。

当然,在课程设计主要是依据《空间分析》该书中聚类分析章节中的系统聚类分析来,空间聚类可以采用不同的算法过程。

在分析之初假定n个点自成一类,然后逐步合并,这样在聚类的过程中,分类将越来越少,直至聚至一个适当的分类数目,这一聚类过程称之为系统聚类。

显然,距离是事物之间差异性的测度,差异性越大,则相似性越小,所以距离是系统聚类分析的依据和基础。

设计算法思想和选用其中的最短距离的原则来进行系统聚类,我们已经指出系统聚类方法首先将n个空间点看做是n个子群,然后根据所选用的聚类统计量来计算n个子群之间的关系。

对于距离,计算n个子群两两之间的距离,首先选择距离最近的两个子群(点)归为一个新的子群,这样就得到n-1个子群两两之间的聚类统计量,继续选择距离最近的子群合并,再得到n-2个子群……,依此类推,直到所有的子群全部合并。

设计的程序也有不足之处,对于数据量大的空间聚类显得不实用,仅仅较适合数据小的系统聚类,即一般数据量的空间聚类分析,对于提高程序空间聚类分析能力,还待进一步的研究。

主要参考文献

1郭仁忠,空间分析,北京:

高等教育出版社,2001

2张强,王正林,精通MATLAB图像处理,电子工业出版社,2009

3张克权,组合指标分类方法简介与分析,北京:

测绘出版社,1980

4郭仁忠,张克权.q型聚类分析中变量相关性的处理方法分析,武汉测绘科技大学报,1987,12(3)

5薛山,MATLABS础教程,北京:

清华大学出版社,2011

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2