
图 Matlab的减法聚类subclust函数对随机生成数据的定位效果
%m文件
% generate k cluseters data and locate by subtractive
clustering
% copyright by sunzhihai@HDU
2012.8.6
function data3clusters
data_n=30;
k=3; %initialization the number of data and the clusters of data
C=rand(k,2);% rand initialization the centers of clusters
data1=10.*repmat(C(1,:),data_n,1)+randn(data_n,2)./10;
data2=10.*repmat(C(2,:),data_n+10,1)+randn(data_n+10,2)./10;
data3=10.*repmat(C(3,:),data_n+20,1)+randn(data_n+20,2)./10;
data=[data1;data2;data3]; %数据生成
plot(data(:,1),data(:,2),'*'); %绘制生成的数据
hold on
[C,S]=subclust(data,[0.25,0.2]); %减法聚类
plot(C(:,1),C(:,2),'ro') %绘制聚类中心
%给聚类中心绘制椭圆
for l=1:k
hold
on
PlotEllipse(C(l,1),C(l,2),0.25,0.2,0) %椭圆绘制函数
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
几个问题有待进一步研究:
上下限阈值参数的自适应确定?
邻域半径的确定?
数据尺度及方向能否进一步调整?
能否非线性数据的聚类问题?
感兴趣的同学,欢迎一起讨论。eeszh(@)163.com
744

被折叠的 条评论
为什么被折叠?



