300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Matlab聚类分析相关函数

Matlab聚类分析相关函数

时间:2023-07-27 05:00:57

相关推荐

Matlab聚类分析相关函数

Matlab聚类分析相关函数

(一)pdist

​ 使用方法:Y = pdist(X, ‘metric’)

​ 表示用’metric’指定的方法计算矩阵X中对象间的距离。其中:

矩阵X为 m×nm\times nm×n 矩阵,可看作 mmm 个 nnn 维行向量,每一个行向量就是样本点输出的Y是包含距离信息的长度为 m(m−1)2\frac{m(m-1)}{2}2m(m−1)​ 的行向量,由于距离的两两组合后的距离,所以由排列组合可知共有 m(m−1)2\frac{m(m-1)}{2}2m(m−1)​ 个组合。

下面是’metric’常用字符串值:

注意:使用闵氏距离时,Y = pdist(X, ‘minkowski’, p),其中p为闵氏距离计算需要用到的指数值,默认为2.

(二)linkage

​ 使用方法:Z = linkage(Y, ‘method’)

​ 表示使用由’method’指定的算法计算生成聚类树,其中:

Y为pdist函数输出的 m(m−1)2\frac{m(m-1)}{2}2m(m−1)​ 维距离行向量Z为包含聚类树信息的 (m−1)×3(m-1)\times3(m−1)×3 矩阵。每一行表示一个类(样本)和另一个类(样本)的合并,所以相当于每一个样本都要合并一次,而第一次合并是两个样本进行的,所以总共有 m−1m-1m−1 行。 第一二列表示两个合并类(样本),其中:1∼m1\thicksim m1∼m 表示初始样本;超过 mmm 的是由样本组成的类,记作 m+jm+jm+j ,其中 mmm 为样本总数,jjj 表示该类是在第 jjj 行新形成的。第三列表示对应两个类(样本)间的距离。

​ 下面是’method’常用的字符串:

(三)cluster

​ 使用方法:T = cluster(Z, ‘cutoff’, c)

​ 表示将由linkage产生的信息矩阵Z分成c类,其中:

Z为linkage函数生成的 (m−1)×3(m-1)\times3(m−1)×3 矩阵c 表示分成类的数量T为长度为 mmm 的列向量,其中每行对应着X中的行(样本),T中数字相同的为同一类

(四)dendrogram

​ 使用方法(常用):

H = dendrogram(Z, P)H = dendrogram(Z, P, ‘ColorThreshold’, cutoff)

表示画出由linkage产生的信息矩阵Z对应的聚类树状图。其中:

Z为linkage函数生成的 (m−1)×3(m-1)\times3(m−1)×3 矩阵P为树状图显示的最大基础类数量(结点数量),默认值为30,0表示全部画出‘ColorThreshold’ 表示不同类显示不同颜色cutoff与’ColorThreshold’ 配合使用,表示不同颜色类的最小距离

举例

(一)

clc, clear;% 清除页面和工作区a = [1,0;1,1;3,2;4,3;2,5];% 5组样本Y = pdist(a); % 计算两两样本之间的欧式距离Z = linkage(Y); % 使用最短距离算法生成具有层次结构的聚类树T = cluster(Z,3);% 将聚类树分成3类H = dendrogram(Z,0);% 将聚类树Z全部画出

得到下聚类图:

(二)

clc, clear;% 清除页面和工作区a = [1,0;1,1;3,2;4,3;2,5];% 5组样本Y = pdist(a); % 计算两两样本之间的欧式距离Z = linkage(Y); % 使用最短距离算法生成具有层次结构的聚类树T = cluster(Z,3);% 将聚类树分成3类cutoff = median([Z(end-2,3) Z(end-1,3)]);% 让其最小距离在倒数第二三行中,其取倒数第二行,即分成三类H = dendrogram(Z,0,'ColorThreshold',cutoff);% 将Z带不同颜色画出

得到下聚类图:

参考资料:

[1] 司守奎, 孙兆亮. 数学建模算法与应用[M].北京:国防工业出版社,:2.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。