ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:71.26KB ,
资源ID:20389683      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20389683.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab在聚类分析中的应用文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Matlab在聚类分析中的应用文档格式.docx

1、City Block distance5minkowskiMinkowski distance6chebychevChebychev distance7mahalanobisMahalanobis distance8cosine夹角余弦9correlation线性相关系数10spearmanspearman相关系数11hammingHamming distance12jaccardOne minus the Jaccard coefficient2.2 squareform函数Z=squareform(Y,.)强制将距离矩阵从上三角形式转化为方阵形式,或从方阵形式转化为上三角形式。2.3 li

2、nkage函数Z=linkage(Y,method)用method参数指定的算法计算系统聚类树。 输入参数Y:pdist函数返回的距离向量;method:可取值如下:值single最短距离法(默认)complete最长距离法average未加权平均距离法weighted加权平均法centroid中心距离法median加权中心距离法ward内平方距离法(最小方差算法) 输出参数Z为一个包含聚类树信息的(m-1)3的矩阵。2.4 dendrogram函数H,T=dendrogram(Z,p)生成只有顶部p个节点的冰柱图(谱系图)。2.5 cophenet函数c=cophenetic(Z,Y)利用p

3、dist函数生成的Y和linkage函数生成的Z计算cophenet相关系数。2.6 cluster 函数T=cluster(Z,)根据linkage函数的输出Z创建分类。三、Matlab案例调整气象观测站问题某地区设有12个气象观测站,编号为,从1981年至1990年这10年来各站测得的年降雨量如表1所示。为了节省开支,想要适当减少气象站,试问减少哪些可以使所得到的降雨量信息仍然足够大?表1 各气象观测站的年降雨量(单位:毫米)年份观测站1981198219831984198519861987198819891990276.2251.6192.7246.2291.7466.5258.6453

4、.4158.2324.8324.5287.3433.2232.4311.0158.9327.4365.5271.0406.5158.6349.5289.9243.7502.4223.5432.1357.6410.2235.7412.5297.4366.3372.5254.0425.1403.9258.1344.2288.8292.8227.8466.2460.4245.6251.4256.6278.8250.0192.6258.4453.6239.1321.0282.9467.2360.7284.9334.1321.5357.4298.7401.0315.4389.7355.2376.4290

5、.5303.2451.0219.7314.5266.5317.4413.2228.5179.4343.7292.9245.7251.3159.2283.4243.2307.5411.1327.0277.5199.3315.6342.4281.2159.7421.1357.0296.5255.4304.2282.1456.3331.2455.1353.2423.0362.1410.7387.6407.2377.73.1 一次聚类法X=; %表1中降雨量所成的矩阵T=clusterdata(X,0.9)聚类结果为:自动分为3类,各类元素为3.2 分步聚类Step1 寻找变量之间的相似性这一步用pd

6、ist函数计算相似矩阵,有多种方法可以计算距离,进行计算之前最好先将数据用zscore函数进行标准化。X2=zscore(X); %标准化数据Y2=pdist(X2); %计算距离Step2 定义变量之间的连接Z2=linkage(Y2);Step3 评价聚类信息C2=cophenet(Z2,Y2);Step4 创建聚类,并作出谱系图T=cluster(Z2,3); % 分为3类H=dendrogram(Z2);分类结果与clusterdata一致,输出如下聚类树:四、MATLAB的统计工具箱MATLAB的统计工具箱中的多元统计分析中提供了聚类分析的两种方法: 层次聚类(hierarchica

7、l clustering) k-means聚类(K-均值聚类)4.1层次聚类法这里用最简单的实例说明以下层次聚类原理和应用方法。层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步:(1)确定对象之间的相似性(pdist)实际上就是定义一个表征对象之间差异的距离,例如最简单的平面上点的聚类中,最经常使用的就是欧几里得距离。这在MATLAB中可以通过Y=pdist(X)实现,举例如下。 X=randn(6,2)X = -0.4326 1.1892 -1.6656 -0.0376 0.1253 0

8、.3273 0.2877 0.1746 -1.1465 -0.1867 1.1909 0.7258 plot(X(:,1),X(:,2),bo) %给个图,用来对照聚类结果 Y=pdist(X)Y = 1.7394 1.0267 1.2442 1.5501 1.68831.8277 1.9648 0.5401 2.95680.2228 1.3717 1.13771.4790 1.05812.5092例子中X数据集可以看作包含6个平面数据点,pdist之后的Y是一个行向量,15个元素分别代表X的第1点与第26点、第2点与第36点,.这样的距离。那么对于个点的数据集X,pdist之后的Y将是具有元

9、素的行向量。Y这样的显示虽然节省了内存空间,但对用户来说不是很易懂,如果需要对这些距离进行特定操作的话,也不太好索引。MATLAB中可以用squareform把Y转换成方阵形式,方阵中位置的数值就是X中第i和第j点之间的距离,显然这个方阵应该是个对角元素为0的对称阵。 squareform(Y)ans = 0 1.7394 1.0267 1.2442 1.5501 1.6883 1.7394 0 1.8277 1.9648 0.5401 2.9568 1.0267 1.8277 0 0.2228 1.3717 1.1377 1.2442 1.9648 0.2228 0 1.4790 1.058

10、1 1.5501 0.5401 1.3717 1.4790 0 2.5092 1.6883 2.9568 1.1377 1.0581 2.5092 0正如之前所描述的,pdist可以使用多种metric指定不同的距离。特别说明:应用MATLAB进行层次聚类,当X数据规模较大时是不合适的。(2)生成层次聚类树(先linkage,后dendrogram)通过第一步应用pdist确定好了对象间的差异度(距离)后,就可以用Z=linkage(Y)来产生层次聚类树了。 Z=linkage(Y)Z = 3.0000 4.0000 0.2228 2.0000 5.0000 0.5401 1.0000 7.0

11、000 1.0267 6.0000 9.0000 1.0581 8.0000 10.0000 1.3717对于个元素的X,前面说了Y是1行的行向量,Z则是的矩阵。矩阵Z的前两列是索引下标列,最后一列是距离列。例如上例中表示在产生聚类树的计算过程中,第3点和第4点先聚成一类,他们之间的距离是0.2228。以此类推。通过linkage函数计算之后,实际上二叉树式的聚类已经完成了。一般说来,矩阵Z含义很容易理解,但我们更愿意将其可视化,即用dendrogram(Z)将Z可视化为聚类树(如下图所示)。可以看到,产生的聚类树的每一层都是一个倒置的U型(或者说是个n型,),纵轴高度代表了当前聚类中两个子节

12、点之间的距离。横轴上标记出了各个数据点索引下标。稍微注意以下的是,dendrogram默认最多画30个最底层节点,当然可以设置参数改变这个限制,比如dendrogram(Z,0)就会把所有数据点索引下标都标出来,但对于成千上万的数据集合,这样的结果必然是图形下方非常拥挤。看你的应用目的了,随你玩(3)聚类结果的进一步分析初步的聚类树画完后,还要做很多后期工作的,包括这样的聚类是不是可靠,是不是代表了实际的对象分化模式,对于具体的应用,应该怎样认识这个完全版的聚类树,产生具有较少分叉的可供决策参考的分类结果呢?这都是需要考虑的。MATLAB中提供了cluster,cophenet,inconsi

13、stent等函数来做与此相关的分析。 cluster用于剪裁完全版的聚类树,产生具有一定cutoff的可用于参考的树。 cophenet和inconsistent用来计算某些系数,前者用于检验一定算法下产生的二叉聚类树和实际情况的相符程度(就是检测二叉聚类树中各元素间的距离和pdist计算产生的实际的距离之间有多大的相关性),inconsistent则是量化某个层次的聚类上的节点间的差异性(可用于作为cluster的剪裁标准)。4.2 K-means聚类法4.2.1 聚类原理K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,

14、利用函数求极值的方法得到迭代运算的调整规则。K-means算法一般以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用 误差平方和最小 作为聚类准则。K-means聚类算法采用的是将N*P的矩阵X划分为K个类,使得类内对象之间的距离尽可能小(属于同一类的对象之间的距离尽可能小,从而相似度尽可能高),而类间距离尽可能大(即各类中心之间的距离尽可能大,从而各类之间相似度尽可能小)。4.2.2 聚类命令kmeans(1)调用格式Idx,C,sumD,D=Kmeans(X,K)各输入输出参数的含义介绍如下。X:矩阵,表示待分类对象的个数,表示描述每个对象的特

15、征数;K:表示将X划分为几类,为正整数;Idx:矩阵-维列向量,存储的是每个点的聚类标号;C:矩阵,存储的是K个聚类中心位置;sumD:维行向量,存储的是类内所有点与该类中心点距离之和D:矩阵,存储的是每个点与所有中心的距离(2)功能更丰富的调用方法=Kmeans(,Param1,Val1,Param2,Val2,)这其中的参数Param1、Param2等,主要可以设置为如下:参数Distance(距离测度)sqEuclideanHamming欧式距离(默认时,采用此距离方式)绝度误差和相关系数海明距离Start(初始中心位置选择方法)sampleuniformcluster输入一个矩阵从X中

16、随机选取K个中心点根据X的分布范围均匀的随机生成K个中心初始聚类阶段随机选择10%的X的子样本输入矩阵作为初始中心Replicates输入一个正整数聚类重复次数4.2.3 案例随机生成40个对象、每个对象有2个特征的数据矩阵X,然后将X分为两类,并可视化两类的中心和成员。X = randn(20,2)+ones(20,2); randn(20,2)-ones(20,2);opts = statset(Display,final);cidx, ctrs = kmeans(X,2,DistancecityReplicates,5,Options,opts);plot(X(cidx=1,1),X(cidx=1,2),r.,X(cidx=2,1),X(cidx=2,2),b.,ctrs(:,1),ctrs(:kx聚类结果可视化如下图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1