欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    利用Matlab软件实现聚类分析范文.doc

    • 资源ID:33421276       资源大小:27KB        全文页数:6页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    利用Matlab软件实现聚类分析范文.doc

    精品文档,仅供学习与交流,如有侵权请联系网站删除§8.利用Matlab和SPSS软件实现聚类分析1. 用Matlab编程实现运用Matlab中的一些基本矩阵计算方法,通过自己编程实现聚类算法,在此只讨论根据最短距离规则聚类的方法。调用函数:min1.m求矩阵最小值,返回最小值所在行和列以及值的大小min2.m比较两数大小,返回较小值std1.m用极差标准化法标准化矩阵ds1.m用绝对值距离法求距离矩阵cluster.m应用最短距离聚类法进行聚类分析print1.m调用各子函数,显示聚类结果聚类分析算法假设距离矩阵为vector, a阶,矩阵中最大值为max,令矩阵上三角元素等于max聚类次数=a-1,以下步骤作a-1次循环:求改变后矩阵的阶数,计作c求矩阵最小值,返回最小值所在行e和列f以及值的大小gfor l=1:c,为vector(c+1,l)赋值,产生新类令第c+1列元素,第e行和第f行所有元素为,第e列和第f列所有元素为max源程序如下:%std1.m,用极差标准化法标准化矩阵function std=std1(vector)max=max(vector); %对列求最大值min=min(vector);a,b=size(vector); %矩阵大小,a为行数,b为列数for i=1:a for j=1:b std(i,j)= (vector(i,j)-min(j)/(max(j)-min(j); endend%ds1.m,用绝对值法求距离function d=ds1(vector);a,b=size(vector); d=zeros(a);for i=1:a for j=1:a for k=1:b d(i,j)=d(i,j)+abs(vector(i,k)-vector(j,k); end endendfprintf('绝对值距离矩阵如下:n');disp(d)%min1.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,比较两数大小,返回较小的值function v1=min(v2,v3);if v2>v3 v1=v3;else v1=v2;end%cluster.m,最短距离聚类法function result=cluster(vector);a,b=size(vector);max=max(max(vector); for i=1:a for j=i:b vector(i,j)=max; end end;for k=1:(b-1) c,d=size(vector); fprintf('第%g次聚类:n',k); e,f,g=min1(vector); fprintf('最小值=%g,将第%g区和第%g区并为一类,记作G%gnn',g,e,f,c+1); for l=1:c if l<=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%print1,调用各子函数function print=print1(filename,a,b); %a为地区个数,b为指标数fid=fopen(filename,'r')vector=fscanf(fid,'%g',a b);fprintf('标准化结果如下:n')v1=std1(vector)v2=ds1(v1);cluster(v2);%输出结果print1('fname',9,7)2.直接调用Matlab函数实现2.1调用函数层次聚类法(Hierarchical Clustering)的计算步骤:计算n个样本两两间的距离dij,记D构造n个类,每个类只包含一个样本;合并距离最近的两类为一新类;计算新类与当前各类的距离;若类的个数等于1,转到5);否则回3);画聚类图;决定类的个数和类;Matlab软件对系统聚类法的实现(调用函数说明):cluster 从连接输出(linkage)中创建聚类clusterdata 从数据集合(x)中创建聚类dendrogram 画系统树状图linkage 连接数据集中的目标为二元群的层次树pdist 计算数据集合中两两元素间的距离(向量)squareform 将距离的输出向量形式定格为矩阵形式zscore 对数据矩阵 X 进行标准化处理 各种命令解释 T = clusterdata(X, cutoff)其中X为数据矩阵,cutoff是创建聚类的临界值。即表示欲分成几类。以上语句等价与以下几句命令: Y=pdist(X,euclid) Z=linkage(Y,single) T=cluster(Z,cutoff)以上三组命令调用灵活,可以自由选择组合方法! T = cluster(Z, cutoff)从逐级聚类树中构造聚类,其中Z是由语句likage产生的(n-1)×3阶矩阵,cutoff是创建聚类的临界值。 Z = linkage(Y) Z = linkage(Y, 'method') 创建逐级聚类树,其中Y是由语句pdist产生的n(n-1)/2 阶向量,method表示用何方法,默认值是欧氏距离(single)。有complete最长距离法;average类平均距离;centroid重心法 ;ward递增平方和等。 Y = pdist(X) Y = pdist(X, 'metric')计算数据集X中两两元素间的距离, metric表示使用特定的方法,有欧氏距离euclid 、标准欧氏距离SEuclid 、马氏距离mahal、明可夫斯基距离Minkowski 等。 H = dendrogram(Z) H = dendrogram(Z, p)由likage产生的数据矩阵z画聚类树状图。P是结点数,默认值是30。2.2举例说明设某地区有八个观测点的数据,样本距离矩阵如表1所示,根据最短距离法聚类分析。%最短距离法系统聚类分析X=7.90 39.77 8.49 12.94 19.27 11.05 2.04 13.29; 7.68 50.37 11.35 13.3 19.25 14.59 2.75 14.87; 9.42 27.93 8.20 8.14 16.17 9.42 1.55 9.76; 9.16 27.98 9.01 9.32 15.99 9.10 1.82 11.35; 10.06 28.64 10.52 10.05 16.18 8.39 1.96 10.81;BX=zscore(X); % 标准化数据矩阵Y=pdist(X) % 用欧氏距离计算两两之间的距离D=squareform(Y) % 欧氏距离矩阵Z = linkage(Y) % 最短距离法T = cluster(Z,3) 等价于 T=clusterdata(X,3) find(T=3) % 第3类集合中的元素H,T=dendrogram(Z) % 画聚类图聚类谱系图如图1所示:图1 聚类谱系图【精品文档】第 6 页

    注意事项

    本文(利用Matlab软件实现聚类分析范文.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开