聚类分析课程设计_第1页
聚类分析课程设计_第2页
聚类分析课程设计_第3页
聚类分析课程设计_第4页
聚类分析课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、空间分析系统聚类算法及编程实现学院:地质工程与测绘学院专业:遥感科学与技术班级:2011260601学号:学生姓名:指导老师:目录 TOC o 1-5 h z HYPERLINK l bookmark8 o Current Document 第1章前言3第2章算法设计背景32.1聚类要素的数据处理3 HYPERLINK l bookmark15 o Current Document 2.2距离的计算5第3章算法思想与编程实现 53.1算法思想5 HYPERLINK l bookmark25 o Current Document 3.2用Matlab编程实现 6 HYPERLINK l book

2、mark28 o Current Document 第4章课程设计总结 10 HYPERLINK l bookmark31 o Current Document 主要参考文献11第一章前言本课题是根据李斌老师所教授的空间分析课程内容及要求而选定的,是 对于系统聚类算法的分析研究及利用相关软件的编程而实现系统聚类。研究的是 系统聚类算法的分析及编程实现,空间聚类的目的是对空间物体的集群性进行分 析,将其分为几个不同的子群(类)。子群的形成的是地理系统运作的结果,根 据此可以揭示某种地理机制。此外,子群可以作为其它分析的基础,例如,公共 设施的建立一般地说是根据居民点群的分布,而不是具体的居民住宅

3、的分布来布 置的,因此需要对居民点群进行聚类分析以形成若干居民点子群,这样便于简化 问题,突出重点。空间聚类可以采用不同的算法过程。在分析之初假定n个点自成一类,然后逐步合并,这样在聚类的过程中,分类将越来越少,直至聚至一个适当的分类 数目,这一聚类过程称之为系统聚类。常见的聚类分析方法有系统聚类法、动态 聚类法和模糊聚类法等。下面主要介绍系统聚类算法,并基于Matlab软件来实现算法的编程。第二章算法设计背景2.1聚类要素的数据处理假设有m个聚类的对象,每一个聚类对象都有个要素构成。它们所对应的要 素数据可用表3.4.1给出。在聚类分析中,常用的聚类要素的数据处理方法有如下 几种。聚类对象要

4、素阳也A ,心A ,1殆知a 切h *g2忑21 “22 A 兀JAf孟2抑kM M M M M M兀L X垢八龙扩h、MnkM M M M M M0 g A , % Af g总和标准化殆=2i/ i-l= 12A,淤;j = 1,2, A,方)且乞对i(7 = 12A E)i-l极大值标准化勺Q 12A gj = 2A /)经过这种标准化所得的新数据,各要素的极大值为 1,其余各数值小于i经过这种标准化所得的新数据,各要素的极大值为1,极小值为0,其余的数值均在 0与1之间。2.2距离的计算距离是事物之间差异性的测度,差异性越大,则相似性越小,所以距离是系统聚 类分析的依据和基础。(D 巨离

5、(i.J = (i.J = 1,2,A 坯)明科夫斯基距禽应材=221舄取琨隅LJ切比雪夫距离当明科夫斯基距尸T8时表有选择不同的距离,聚类结果会有所差异。在地理分区和分类研究中,往往采用几 种距离进行计算、对比,选择一种较为合适的距离进行聚类第三章算法思想与编程实现3.1算法思想我们已经指出系统聚类方法首先将n个空间点看做是n个子群,然后根据所选用的聚类统计量来计算n个子群之间的关系。对于距离,计算n个子群 两两之间的距离,首先选择距离最近的两个子群(点)归为一个新的子群,这样就 得到n-1个子群两两之间的聚类统计量,继续选择距离最近的子群合并,再得到 n-2个子群,依此类推,直到所有的子群

6、全部合并。3.2用Matlab编程实现运用Matlab中的一些基本矩阵计算方法,通过自己编程实现聚类算法,在此只 讨论根据最短距离规则聚类的方法。调用函数:minl.m求矩阵最小值,返回最小值所在行和列以及值的大小min2.m -比较两数大小,返回较小值stdl.m -用极差标准化法标准化矩阵dsl.m用绝对值距离法求距离矩阵cluster.m -应用最短距离聚类法进行聚类分析prin tl.m调用各子函数,显示聚类结果聚类分析算法假设距离矩阵为vector,a阶,矩阵中最大值为max,令矩阵上三角元素等于max聚类次数=a-1,以下步骤作a-1次循环:求改变后矩阵的阶数,计作c求矩阵最小值,

7、返回最小值所在行e和列f以及值的大小gfor l=1:c,为 vector(c+1,l)赋值,产生新类令第c+1列元素,第e行和第f行所有元素为,第e列和第f列所有元素 为max源程序如下:%std1.m,用极差标准化法标准化矩阵fun cti on std=std1(vector)max=max(vector);%对歹U求最大值min=mi n(vector);a,b=size(vector);%巨阵大小,a为行数,b为列数for i=1:afor j=1:bstd(i,j)= (vector(ij)-mi n(j)/(max(j)-mi n(j);endend%ds1.m用绝对值法求距离f

8、un cti on d=ds1(vector);a,b=size(vector);d=zeros(a);for i=1:afor j=1:afor k=1:bd(i,j)=d(i,j)+abs(vector(i,k)-vector(j,k);endendendfprintf(绝对值距离矩阵如下:n);disp(d)%mi nl.m求矩阵中最小值,并返回行列数及其值function v15v25v3=min1(vector);%v1为行数,v2 为列数,v3 为其值v,v2=mi n( mi n(vector);v,v1=mi n( mi n(vector);v3=min(min( vector

9、);%min2.m比较两数大小,返回较小的值fun cti on v仁 min( v2,v3);if v2v3v1=v3;elsev 仁 v2;end%cluster.m,最短距离聚类法function result=cluster(vector);a,b=size(vector);max=max(max(vector);for i=1:afor j=i:bvector(i,j)=max;endend;for k=1:(b-1)c,d=size(vector);fprintf(第9 次聚类:n,k);e,f,g=mi n1(vector);fprintf(最小值=%g将第9区和第g区并为一类,

10、记作 G%gnn,g,e,f,c+1);for l=1:cif l=mi n2(e,f)vector(c+1,l)=mi n2(vector(e,l),vector(f,l);elsevector(c+1,l)=mi n2(vector(l,e),vector(l,f);endend;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,调用各子函数function print=print1(filename,a,b); %

11、a为地区个数,b 为指标数fid=fope n(filen ame,r)vector=fsca nf(fid,%g,a b);fprintf(标准化结果如下:n)v1=std1(vector)v2=ds1(v1);cluster(v2);%输出结果prin t1(fname,9,7)第四章课程设计总结通过此次课程设计,对空间分析中的聚类分析有了更一步的了解和体会,尤其是 对系统聚类分析有了深刻的掌握,基于Matlab软件的方便性和语言的简洁易懂性, 基本完成了该次课程设计的程序编写。当然,在课程设计主要是依据空间分析该书中聚类分析章节中的系统聚类分 析来,空间聚类可以采用不同的算法过程。在分析

12、之初假定n个点自成一类,然后 逐步合并,这样在聚类的过程中,分类将越来越少,直至聚至一个适当的分类数 目,这一聚类过程称之为系统聚类。显然,距离是事物之间差异性的测度,差异性 越大,则相似性越小,所以距离是系统聚类分析的依据和基础。设计算法思想和选 用其中的最短距离的原则来进行系统聚类,我们已经指出系统聚类方法首先将n个空间点看做是n个子群,然后根据所选用的聚类统计量来计算n个子群 之间的关系。对于距离,计算n个子群两两之间的距离,首先选择距离最近的两个 子群(点)归为一个新的子群,这样就得到n-1个子群两两之间的聚类统计量,继续 选择距离最近的子群合并,再得到n-2个子群,依此类推,直到所有的子群全 部合并。设计的程序也有不足之处,对于数据量大的空间聚类显得不实用,仅仅较适合 数据小的系统聚类,即一般数据量的空间聚类分析,对于提高程序空间聚

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论