目录
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/
转载文章受原作者版权保护。转载请注明原作者出处!