数学建模——聚类

目录

Q型聚类

R型聚类

其他

Q型聚类

对样本进行分类称为Q型聚类分析,用距离来度量样本点之间的相似程度,两组样本点之间的距离常用欧氏距离进行度量,注意如果量纲不一样,则要进行标准化处理。马氏距离则不需要考虑量纲。两个样本类之间的距离也有定义

mandist(矩阵)该函数用于求矩阵 向量之间的两两绝对值距离
Y=pdist(X) 返回 X 中行与行观测值之间的欧几里德距离。返回值Y是一个行向量,用squareform(Y)转换为方阵,行向量Y其实就是矩阵形式的下三角矩阵的值。
tril(矩阵)可以截取下三角矩阵,nonzeros(矩阵)去除矩阵中零元素,非零元素按列排列,unique(矩阵)可以去掉重复的非零元素,linkage()函数可以求聚类树,参数应该是距离的行向量,dendrogram(z,num);画聚类图,num是节点数,默认最多30

例子:

w110w211w332w44 3 w524

对w进行分类

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:3b08f6be-f62d-44cc-80aa-5fd80dffba2d

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:e1c13562-57cf-4557-8791-5b91ae4dbab4

数学建模——聚类

画出聚类图和二叉树图:

数学建模——聚类
clc,clear
a = [1,0;1,1;3,2;4,3;2,5];
d = pdist(a,'cityblock');%计算样本点直接两两距离行向量
z = linkage(d);
dendrogram(z);%画出聚类图
T = cluster(z,'maxclust',3)%将分类分为三类
%% 也可以:
z = linkage(a,'single','cityblock');%single指类间距离,后者是样本点距离

运算结果:
z =
1 2 1
3 4 2
6 7 3
5 8 4
意思是:1,2样本点划分为一类,是h6,3,4划分一类h7,h6、h7划分一类为h8,h8和样本点5划分一类。z第三列包含了两两行对象间连接距离
T =
1
1
2
2
3
T划分为三类,样本点1,2分为1类…

数学建模——聚类

数学建模——聚类

R型聚类

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:a12a78ac-d538-444f-acde-7bf96755b4b8

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:f5ac2b64-c123-4ee5-9a69-31e9377e4e0c

数学建模——聚类

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:7f57b5ae-0b42-4656-8be1-64cd5b1d4de9

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:1963ea78-e782-4666-898c-0cbd611be513

例子:

给出14个变量之间的相关系数,对这14个变量进行分类

数学建模——聚类
clc,clear
a = readmatrix('data.txt');
a(isnan(a)) = 0;
d = 1-abs(a);               %进行数据变换,把相关系数转化为距离
d = tril(d);                %提出下三角矩阵
b = nonzeros(d);            %除去0
b = b';                     %化为行向量
z = linkage(b,'complete');  %按最长距离法聚类
y = cluster(z,'maxclust',2);%把变量划分为2类
ind1 = find(y==1)           %显示第一类对应的变量标号
ind2 = find(y==2)
h = dendrogram(z);          %画出聚类图

其他

A = zsore(x)对数据矩阵进行标准化处理,处理的方式为:

数学建模——聚类
B = corrcoef(A) 返回 A 的相关系数的矩阵

Original: https://blog.csdn.net/m0_51311105/article/details/126041313
Author: 放牛儿
Title: 数学建模——聚类

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/560746/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球