"Matlab 聚类分析方法与相关函数详解"

版权申诉
0 下载量 39 浏览量 更新于2024-03-04 收藏 60KB DOC 举报
内个对象组成的,’metric’:指定使用的距离度量方法,如’euclidean’、’seuclidean’、’cityblock’、’minkowski’、’chebychev’、’mahalanobis’、’cosine’、’correlation’等,具体参见 Matlab 官方文档。1.2 linkage 函数调用格式:Z=linkage(Y,’method’)说明:用 ‘method’指定的方法对矩阵 Y 中的观测进行层次聚类。’Y:一个 m×p 的观测矩阵,它是由 m 个观测对象组成的,’method’:指定使用的层次聚类方法,如’single’、’complete’、’average’、’weighted’、’centroid’、’median’、’ward’等,具体参见 Matlab 官方文档。1.3 cluster 函数调用格式:T=cluster(Z,’cutoff’)说明:根据层次聚类 Z 进行聚类,’Z:一个 m−1×3 的矩阵,代表了层次聚类的结果。’cutoff’:用于划分组的高度。1.4 cophenetic 函数调用格式:c=cophenetic(Z)说明:计算层次聚类 Z 的类表现。’Z:一个 m−1×3 的矩阵,代表了层次聚类的结果。2.聚类方法介绍2.1 直接聚类该方法利用 clusterdata 函数对样本数据进行一次聚类。该方法的优点是操作简单,使用者无需了解聚类的原理和过程,并且对于简单的数据集具有较好的效果。但是缺点是用户可以选择的面较窄,不能更改距离的计算方法,聚类效果受限制。2.2 层次聚类层次聚类方法比较灵活,需要用户对聚类原理和过程有较清晰的认识。该方法包括计算观测对象之间的距离、定义观测对象之间的连接、评价聚类信息和创建聚类这几个步骤。具体的实现包括使用 pdist 函数计算观测对象之间的距离,使用 linkage 函数定义观测对象之间的连接,使用cophenetic 函数评价聚类信息,以及使用 cluster 函数创建聚类。2.3 划分聚类划分聚类方法包括 K 均值聚类和 K 中心聚类。同样需要用户对聚类原理和过程有较清晰的认识。该方法需要进行系列步骤完成,包括选择观测对象之间的相似性度量方法和初始的聚类中心,计算样本到各个聚类中心的距离,根据最小距离将样本分到对应的聚类中,更新聚类中心直至收敛。3.实例演示下面通过一个实例来演示如何在 Matlab 中进行聚类分析。假设有一个数据集,包括 8 个观测对象和 2 个变量,首先用 pdist 函数计算观测对象之间的距离,然后用 linkage 函数定义观测对象之间的连接,接下来用 cophenetic 函数评价聚类信息,最后用 cluster 函数创建聚类。具体代码如下:data=[0.1 0.2;0.3 0.4;0.5 0.6;0.7 0.8;0.9 1.0;1.1 1.2;1.3 1.4;1.5 1.6];Y=pdist(data,’euclidean’);Z=linkage(Y,’average’);c=cophenetic(Z);T=cluster(Z,’cutoff’,0.5);通过以上步骤,我们可以得到观测对象的聚类结果 T,进而可以对观测对象进行分类分析。4.总结综上所述,Matlab 提供了一系列用于聚类分析的函数和方法,具体包括 pdist 函数、linkage 函数、cophenetic 函数和 cluster 函数。使用这些函数和方法可以进行直接聚类、层次聚类和划分聚类。每种方法都有其适用的场景和相应的步骤,在使用时需要根据具体的情况选择合适的方法并进行具体的步骤处理。同时,需要对聚类原理和过程有较清晰的认识,以便更好地进行聚类分析并得到准确的结果。因此,在进行聚类分析时,需要综合考虑数据集的特点、分析目的以及使用者对聚类原理和过程的认识程度,选择合适的聚类方法并进行相应的处理,从而得到准确有效的聚类结果。"