Matlab提供的两种聚类分析方法

转载 2015年07月08日 16:22:39

一种是利用 clusterdata函数对样本数据进行一次聚类,其缺点为可供用户选择的面较窄,不能更改距离的计算方法;

 另一种是分步聚类:

(1)找到数据集合中变量两两之间的相似性和非相似性,用pdist函数计算变量之间的距离;(2)用 linkage函数定义变量之间的连接;

(3)用 cophenetic函数评价聚类信息;

(4)用cluster函数创建聚类。

 

1.Matlab中相关函数介绍

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距离。

 

 

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的矩阵。

 

 

 

1.4 dendrogram函数

调用格式:[H,T,…]=dendrogram(Z,p,…)

说明:生成只有顶部p个节点的冰柱图(谱系图)。

 

 

1.5 cophenet函数

调用格式:c=cophenetic(Z,Y)

说明:利用pdist函数生成的Y和linkage函数生成的Z计算cophenet相关系数。

 

 

1.6 cluster 函数

调用格式:T=cluster(Z,…)

说明:根据linkage函数的输出Z 创建分类。

 

 

1.7 clusterdata函数

调用格式:T=clusterdata(X,…)

说明:根据数据创建分类。

T=clusterdata(X,cutoff)与下面的一组命令等价:

Y=pdist(X,’euclid’);

Z=linkage(Y,’single’);

T=cluster(Z,cutoff);

 

 

2. Matlab程序

2.1 一次聚类法

X=[11978 12.5 93.5 31908;…;57500 67.6 238.0 15900];

T=clusterdata(X,0.9)

 

 

2.2 分步聚类

 

Step1 寻找变量之间的相似性

用pdist函数计算相似矩阵,有多种方法可以计算距离,进行计算之前最好先将数据用zscore函数进行标准化。

X2=zscore(X); %标准化数据

Y2=pdist(X2); %计算距离

 

 

Step2 定义变量之间的连接

Z2=linkage(Y2);

 

Step3 评价聚类信息

C2=cophenet(Z2,Y2); //0.94698

 

Step4 创建聚类,并作出谱系图

T=cluster(Z2,6);

H=dendrogram(Z2);

http://www.cnblogs.com/blessw/archive/2010/03/27/1698635.html

主成分分析 PCA 理解

目前,pca算法已经广泛应用于各方面,就那图像处理来说,经常做的一件事就是当提取的图像特征维数比较高时,为了简化计算量及节省存储空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。 ...

小观matlab插值函数

插值与拟合是数值分析中的重要内容,我们来看看matlab中的插值函数。空间插值 [x,y,z,v]=flow(8); % flow是MATLAB自带的测试函数 slice(x,y...

聚类分析方法

  • 2013年03月20日 09:51
  • 259KB
  • 下载

聚类分析方法——划分聚类

1.     划分聚类 其实从某种角度讲,划分聚类是完全不用赘述的一种聚类方法,可能也是最常见的聚类算法了。著名的k-means算法就是个中典型。这次的内容主要是通过k-means聚类算法来总体...
  • colapin
  • colapin
  • 2016年06月24日 10:50
  • 819

聚类分析方法讲义ppt

  • 2010年05月03日 19:57
  • 440KB
  • 下载

关于聚类分析、判别分析、主成分分析、因子分析等多元统计分析方法

转载自:http://blog.csdn.net/nieson2012/article/details/25408421 主成分分析与因子分析的区别   1....

基于MATLAB的kmeans方法聚类分析

  • 2016年05月30日 11:32
  • 680B
  • 下载

matlab聚类分析pca方法

  • 2016年04月21日 21:20
  • 20KB
  • 下载

变态青蛙跳台阶的两种典型分析方法

变态青蛙跳台阶的两种典型分析方法: 最近看到递归相关的算法,有个变态青蛙跳台阶的延伸问题还蛮有趣的。题目如下,拿出来分析一下: 方法1:归纳假设法 方法2:直接考虑第n阶的可能方...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Matlab提供的两种聚类分析方法
举报原因:
原因补充:

(最多只允许输入30个字)