您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页聚类分析课堂例题

聚类分析课堂例题

来源:筏尚旅游网
聚类分析课堂例题

为了研究世界各国森林、草原资源的分布规律,共抽取了21个国家的数据,每个国家4项指标,原始数据见下表1。使用该原始数据对国别进行聚类分析。

表1 抽样数据表

国别 中国 美国 日本 德国 英国 法国 意大利 加拿大 澳大利亚 前苏联 捷克 波兰 匈牙利 南斯拉夫 罗马尼亚 保加利亚 印度 印尼 尼日利亚 墨西哥 巴西 4850 57500 24.6 67.6 32.6 238.0 7450 15900 6748 2180 1490 20.5 84.0 16.1 29.0 33.7 0.8 1200 1200 2090 385 34.7 2.5 200 634 26.7 11.3 447 92000 458 868 161 929 41.1 35.8 27.8 17.4 36.3 841.5 8.9 11.4 2.5 11.4 37370 168 405 129 640 森林面积(万公顷) 森林覆盖率(%) 林木蓄积量(亿立方米) 草原面积(万公顷) 11978 28446 2501 1028 210 1458 635 32613 10700 12.5 30.4 67.2 28.4 8.6 26.7 21.1 32.7 13.9 93.5 202.0 24.8 14.0 1.5 16.0 3.6 192.8 10.5 31908 23754 58 599 1147 1288 514 2385 45190

Matlab 解 答

Matlab提供了两种方法进行聚类分析。

一种是利用 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)

x 10443.532.521.510.50 71512 414111613 5 61819 31720 1 9 2 82110

谱系图

分类结果: 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);

43.532.521.510.50 41215 6 7131917111416 520 1 9 2 8 3182110

谱系图

分类结果:{加拿大},{中国,美国,澳大利亚},{日本,印尼},{巴西},{前苏联} 剩余的为一类。,

2 2 4 3 3 3 3 1 2 6 3 3 3 3 3 3 3 4 3 3 5

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务