当前位置:首页 » 《随便一记》 » 正文

Matlab--k-means聚类算法实现_玄妙

5 人参与  2022年05月14日 11:09  分类 : 《随便一记》  评论

点击全文阅读


**

Matlab–k-means聚类算法实现

**

第一次在CSDN写自己的博客,希望开门大吉 哈哈哈
也希望分享的内容大家能够喜欢。

本次创作内容为-----k-means聚类算法实现。
自己用matlab写的时候,遇到很多问题,一些常见matlab语法等等,查找很多博主分享的知识,获益许多,由此形成了这次的完整代码,运行成功的!

本次编写内容为:
编程实现k-means聚类算法,并将实验结果显示出来。

代码如下,也欢迎大家一起交流,共同学习和进步!

E1 = [0,0]; %数学期望
sigma = [0.9,0.4; 0.4,0.3]; %协方差矩阵
data1 = mvnrnd(E1, sigma, 50);%生成50个样本
E2 = [5,0]; %数学期望
data2 = mvnrnd(E2, sigma, 50);%生成50个样本
E3 = [3,3]; %数学期望
data3 = mvnrnd(E3, sigma, 50);%生成50个样本
%合并数组
data = [data1; data2; data3];
save mydata data;%保存为.mat文件
m=load('mydata.mat');%加载.mat文件
x = m.data(:,1);%读取第一列数据
y= m.data(:,2);%读取第二列数据
plot(x,y,'.');%绘图

执行上述代码,生成如下聚类图:执行上述添加图片描述
接下来,编写程序实现k-means聚类算法,随机初始化聚类中心,显示聚类结果,不同的颜色代表不同的类别,代码如下:

load mydata
[idx,C] = kmeans(data,3);%这里k = 3
[hang, lie] = size(C); 
colo = ('rgbk'); %颜色属性,可以增加
sign = ('o*pd'); % 点标记属性,可以增加
figure
gscatter(data(:,1),data(:,2),idx,'rgbk')
hold on
for i = 1:hang
    plot(C(i,1),C(i,2),[colo(i),sign(i)],'MarkerSize',15)
end

执行上述代码,结果下如下:请添加图片描述
第一篇博客就这样结束啦!


点击全文阅读


本文链接:http://zhangshiyu.com/post/40110.html

代码  算法  生成  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1