爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 15699|回复: 21

[程序设计] matlab做聚类分析

[复制链接]

新浪微博达人勋

发表于 2012-5-27 19:58:02 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 humes 于 2012-5-27 19:58 编辑

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)
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://blog.sina.com.cn/s/blog_5a13cf680100aj18.html

评分

参与人数 2金钱 +15 收起 理由
liuqingyi + 5 给力的分享!
wlzhongouc + 10 嗯谢谢分享

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-5-27 22:35:08 | 显示全部楼层
支持楼主,如果能把数据挖掘的知识用到气象数据上,做出一点有意义的分析就好了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-5-27 23:35:39 | 显示全部楼层
谢谢分享.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-13 17:46:58 | 显示全部楼层
我正需要呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-6-17 14:46:09 | 显示全部楼层
聚成几类自己可以调节吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-9 09:41:45 | 显示全部楼层
感谢分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-1-8 18:05:58 | 显示全部楼层
谢谢楼主,太感谢拉
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-11 19:48:49 | 显示全部楼层
有没有具体的例子给参考一下,还不是太懂
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-11 21:52:30 | 显示全部楼层
我也没看懂
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-7-19 17:37:33 | 显示全部楼层
还是不太懂
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表