✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
针对传统k-means算法对初始聚类中心选取的随机性,易收敛于局部最优等缺点.本文利用杂草算法和k-means算法相结合,提高了k-means算法性能.实验结果表明文中算法与传统聚类算法相比具有更高的聚类正确率,更好的聚类质量.
⛄ 部分代码
function m=PlotRes(X, sol)
% Cluster Centers
m = sol.Position;
k = size(m,1);
% Cluster Indices
ind = sol.Out.ind;
Colors = hsv(k);
for j=1:k
Xj = X(ind==j,:);
subplot(2,3,1)
plot(Xj(:,1),Xj(:,2),'x','LineWidth',1,'Color',Colors(j,:));title('IWO');
hold on;
% plot(m(:,1),m(:,2),'ok','LineWidth',2,'MarkerSize',6);
subplot(2,3,2)
plot(Xj(:,1),Xj(:,3),'x','LineWidth',1,'Color',Colors(j,:));title('IWO');
hold on;
% plot(m(:,1),m(:,3),'ok','LineWidth',2,'MarkerSize',6);
subplot(2,3,3)
plot(Xj(:,1),Xj(:,4),'x','LineWidth',1,'Color',Colors(j,:));title('IWO');
hold on;
% plot(m(:,1),m(:,4),'ok','LineWidth',2,'MarkerSize',6);
subplot(2,3,4)
plot(Xj(:,2),Xj(:,3),'x','LineWidth',1,'Color',Colors(j,:));title('IWO');
hold on;
% plot(m(:,2),m(:,3),'ok','LineWidth',2,'MarkerSize',6);
subplot(2,3,5)
plot(Xj(:,2),Xj(:,4),'x','LineWidth',1,'Color',Colors(j,:));title('IWO');
hold on;
% plot(m(:,2),m(:,4),'ok','LineWidth',2,'MarkerSize',6);
subplot(2,3,6)
plot(Xj(:,3),Xj(:,4),'x','LineWidth',1,'Color',Colors(j,:));title('IWO');
hold on;
% plot(m(:,3),m(:,4),'ok','LineWidth',2,'MarkerSize',6);
end
hold off;
end
⛄ 运行结果
⛄ 参考文献
[1]于海涛,贾美娟,王慧强,邵国强. 基于人工鱼群的优化K-means聚类算法[J]. 计算机科学, 2018, 39(12):60-64.
[2]王丽君郇益斌. 基于杂交PSO的k-means聚类算法[J]. 电子世界, 2016, 000(014):192,195.