分级聚类(谱系聚类).docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分级聚类(谱系聚类)

matlab提供了两种方式来做分级聚类一、直接聚类此时调用的是clusterdata函数,而clusterdata函数可以视为pdist、linkage与cluster的综合,也就是说它们的参数在调用时使用的都是默认值,不能调,这就是直接聚类的含义。其缺点为可供用户选择的面较窄,不能更改距离的计算方法,该方法的使用者无需了解聚类的原理和过程,但是聚类效果受限制。下面介绍clusterdata函数的具体使用。clusterdata函数的调用格式:T=clusterdata(X,cutoff)?输出参数T是一个包含n个元素的列向量,其元素为相应观测所属类的类序号。输入参数X是的矩阵,一定要注意矩阵的每一行对应一个观测(样品),每一列对应一个变量。Cutoff 为阈值,它有两种含义,如下:(1)当0cutoff2时,T=clusterdata(X,cutoff)?? 等价于调用了Y=pdist(X,’euclid’); Z=linkage(Y,’single’); T=cluster(Z,’cutoff’,cutoff)?;(此时‘cutoff’指不一致系数或距离的阈值,参数值为正实数。即此时clusterdata等价于最后T=cluster(Z‘cutoff’,c,’depth’,d),是按照不一致系数的规则来聚类的,并没有指定希望分成几类。这有别于下面的(2))(2)Cutoff2时,T=clusterdata(X,cutoff)?????等价于Y=pdist(X,’euclid’); Z=linkage(Y,’single’); T=cluster(Z, ‘maxclust’,cutoff)?;(‘maxclust’指定最大类数,参数值为正整数。即此时cutoff表示的希望分成的类别数目)二、分步聚类所谓分布聚类,就是将聚类过程分为几个步骤,只不过是可以调具体函数的参数而已。所用到的函数介绍1.1 pdist函数调用格式:Y=pdist(X,’metric’)说明:用 ‘metric’指定的方法计算 X 数据矩阵中对象之间的距离。 X:一个m×n的矩阵,它是由m个对象组成的数据集,每个对象的大小为n。metric’取值如下:‘euclidean’:欧氏距离(默认);‘seuclidean’:标准化欧氏距离;‘mahalanobis’:马氏距离;‘cityblock’:布洛克距离;‘minkowski’:明可夫斯基距离;‘cosine’:‘correlation’: ‘hamming’:‘jaccard’: ‘chebychev’:Chebychev距离。pdist生成一个M*(M-1)/2个元素的行向量,分别表示M个样本两两间的距离。这样可以缩小保存空间,不过,对于读者来说却是不好操作,因此,若想简单直观的表示,可以用squareform函数将其转化为方阵,其中x(i,j)表示第i个样本与第j个样本之的距离,对角线均为0.1.2 squareform函数调用格式:Z=squareform(Y,..)说明: 强制将距离矩阵从上三角形式转化为方阵形式,或从方阵形式转化为上三角形式。关于这个函数的使用见下面的第二个例子,是最好的说明。1.3 linkage函数调用格式:Z=linkage(Y,’method’)说 明:用‘method’参数指定的算法计算系统聚类树。Y:pdist函数返回的距离向量;method:可取值如下:‘single’:最短距离法(默认); ‘complete’:最长距离法;‘average’:未加权平均距离法; ‘weighted’: 加权平均法;‘centroid’:质心距离法; ‘median’:加权质心距离法;‘ward’:内平方距离法(最小方差算法)返回:Z为一个包含聚类树信息的(m-1)×3的矩阵。其中前两列为索引标识,表示哪两个序号的样本可以聚为同一类,第三列为这两个样本之间的距离。另外,除了M个样本以外,对于每次新产生的类,依次用M+1、M+2、…来标识。为了表示Z矩阵,我们可以用更直观的聚类数来展示,方法为:dendrogram(Z), 产生的聚类数是一个n型树,最下边表示样本,然后一级一级往上聚类,最终成为最顶端的一类。纵轴高度代表距离列。 另外,还可以设置聚类数最下端的样本数,默认为30,可以根据修改dendrogram(Z,n)参数n来实现,1n样本个数。dendrogram(Z,0)则表n=样本个数的情况,显示所有叶节点。1.4用cophenet函数评价聚类信息【cophenet函数:?? 调用格式:c=cophenet(Z,Y)?说明:利用pdist函数生成的Y和linkage函数生成的Z计算系统聚类树的cophenetic相关系数。】cophene检验一定算法下产生的二叉聚类树和实

文档评论(0)

zilaiye + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档