-
本文主要是对2019年发表于Expert Systems With Applications的“A new data clustering algorithm based on critical distance methodology”论文的一些理解以及对文中的CDC算法的matlab实现
1.CDC算法
- CDC算法伪代码:
2.算法Matlab实现
function[CL]=CDC(varargin)
U=varargin{1};
% 输入为数据集U,输出为簇标签CL
N=size(U,1);
% step 1 生成D_M矩阵:存储两两点对之间的距离 n*n
D_M = pdist2(U,U);
% step 2 生成P2PS_M矩阵: 存储每个点的最近的点 3*n
% step 2,1 将D_M对角线的值替换为D_M中的最大值。
max_D_M = max(max(D_M));
for i=1:N
for j=1:N
if i == j
D_M1(i,j)=max_D_M;
else
D_M1(i,j)=D_M(i,j);
end
end
end
[~,P2PS_M1]=min(D_M1);
for i=1:N
P2PS_M(1,i