5聚类分析..docVIP

  • 13
  • 0
  • 约8.78千字
  • 约 11页
  • 2016-12-31 发布于重庆
  • 举报
聚类分析 在实际工作中,我们经常遇到分类问题.若事先已经建立类别,则使用判别分析,若事先没有建立类别,则使用聚类分析。 聚类与分类的不同在于,聚类所要求划分的类是未知的。 聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。 Step1 寻找变量之间的相似性 用pdist函数计算相似矩阵,有多种方法可以计算距离,进行计算之前最好先将数据用zscore函数进行标准化。 X2=zscore(X); %标准化数据 Y=pdist(X2); %计算距离 Step2 定义变量之间的连接 Z=linkage(Y); Step3 评价聚类信息 C=cophenet(Z,Y); Step4 创建聚类,并作出谱系图 T=cluster(Z,6); H=dendrogram(Z);维样本和,则它们的欧氏距离为 2)标准化欧氏距离 3)马氏距离 4)布洛克距离 5)闵可夫斯基距离 6)余弦距离 7)相似距离 二、MATLAB中常用的计算距离的函数 假设我们有阶数据矩阵,每一行是一个样本数据. 在MATLAB中计算样本点之间距离的内部函数为 y=pdist(x) 计算样本点之间的欧氏距离(默认) y=pdist(x,seuclid) 计算样本点之间的标准化欧氏距离 y=pdist(x,mahal) 计算样本点之间的马氏距离 y=pdist(x,cityblock) 计算样本点之间的布洛克距离 y=pdist(x,minkowski) 计算样本点之间的闵可夫斯基距离 y=pdist(x,minkowski,p) 计算样本点之间的参数为p的闵可夫斯基距离 y=pdist(x,cosine) 计算样本点之间的余弦距离 y=pdist(x,correlation) 计算样本点之间的相似距离 另外,内部函数yy=squareform(y)表示将样本点之间的距离用矩阵的形式输出。 例: x=[3 1.7;1 1;2 3; 2 2.5; 1.2 1; 1.1 1.5; 3 1] % 7×2,每行一个样本 y=pdist(x,mahal) %每两个样本的马氏距离 yy=squareform(y) %样本点之间的距离用矩阵的形式输出 x = 3.0000 1.7000 1.0000 1.0000 2.0000 3.0000 2.0000 2.5000 1.2000 1.0000 1.1000 1.5000 3.0000 1.0000 y = Columns 1 through 13 2.3879 2.1983 1.6946 2.1684 2.2284 0.8895 2.6097 2.0616 0.2378 0.6255 2.3778 0.6353 2.5522 Columns 14 through 21 2.0153 2.9890 1.9750 1.5106 2.4172 0.6666 2.1400 2.4517 yy = 0 2.3879 2.1983 1.6946 2.1684 2.2284 0.8895 2.3879 0 2.6097 2.0616 0.2378 0.6255 2.3778 2.1983 2.6097 0 0.6353 2.5522 2.0153 2.9890 1.6946 2.0616 0.6353 0 1.9750 1.5106 2.4172 2.1684 0.2378 2.5522 1.9750 0 0.6666 2.1400 2.2284 0.6255 2.0153 1.5106 0.6666 0 2.4517 0.8895 2.3778 2.9890 2.4172 2.1400 2.4517 0 三、常用的聚类方法 常用的聚类方法主要有以下几种:最短距离法、最长距离法、平均距离法、重心法、平方和递增法等

文档评论(0)

1亿VIP精品文档

相关文档