【模式识别】聚类分析MATLAB实现

本文详细介绍了在MATLAB中进行聚类分析的两种方法:一次聚类使用clusterdata函数,分步聚类涉及pdist、linkage、cophenetic和cluster函数。通过这些函数,可以计算样本间距离、构建聚类树并评估聚类效果。
摘要由CSDN通过智能技术生成

说明:如果是要用matlab做kmeans聚类分析,直接使用函数kmeans即可。使用方法:kmeans(输入矩阵,分类个数k)。

 

转载一:

MATLAB提供了两种方法进行聚类分析:

1、利用 clusterdata 函数对数据样本进行一次聚类,这个方法简洁方便,其特点是使用范围较窄,不能由用户根据自身需要来设定参数,更改距离计算方法;

2、分步聚类:( 1)用 pdist函数计算变量之间的距离,找到数据集合中两辆变量之间的相似性和非相似性;( 2)用 linkage函数定义变量之间的连接;( 3)用 cophenetic函数评价聚类信息;( 4)用 cluster函数进行聚类。

下边详细介绍两种方法:

1、一次聚类

Clusterdata函数可以视为 pdist linkage cluster的综合,一般比较简单。

clusterdata函数:

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

                      等价于Y=pdist(X,’euclid’); Z=linkage(Y,’single’); T=cluster(Z,cutoff) 

2、分步聚类

1)求出变量之间的相似性

pdist函数计算出相似矩阵,有多种方法可以求距离,若此前数据还未无量纲化,则可用 zscore函数对其标准化

pdist函数:调用格式: Y=pdist(X,’metric’)

 说明: X M*N矩阵,为由 M个样本组成,每个样本有 N个字段的数据集

        metirc取值为:’ euclidean’:欧氏距离(默认) ‘seuclidean’:标准化欧氏距离; ‘mahalanobis’:马氏距离

pdist生成一个 M*(M-1)/2个元素的行向量,分别表示 M个样本两两间的距离。这样可以缩小保存空间,不过,对于读者来说却是不好操作,因此,若想简单直观的表示,可以用 squareform函数将其转化为方阵,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值