Matlab下用自带函数进行的聚类分析

本文介绍了在Matlab中进行聚类分析的两种方法:一是使用内置函数kmeans进行简单K-means聚类;二是详细步骤聚类,包括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函数将其转化为方阵,其中 x(i,j)表示第 i个样本与第 j个样本之的距离,对角线均为 0.

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值