Matlab数值分析K-means聚类算法

简介: 我写的附录文章1简单介绍了K-means聚类算法。Matlab提供了专用函数kmeans用于聚类的质心。假设随机生成两维样本数据,然后用kmeans算出聚类并标记出质心:r1=randn(5,2)-2r2=randn(5...
我写的附录文章1简单介绍了K-means聚类算法。Matlab提供了专用函数kmeans用于聚类的质心。
假设随机生成两维样本数据,然后用kmeans算出聚类并标记出质心:
r1=randn(5,2)-2
r2=randn(5,2)+2
X=[r1;r2];

opts = statset('Display','final');
[idx,C] = kmeans(X,2,'Replicates',2,'Options',opts);

C%质心

cluster1=[X(idx==1,1),X(idx==1,2)] %簇1
cluster2=[X(idx==2,1),X(idx==2,2)] %簇2

figure;
plot(X(idx==1,1),X(idx==1,2),'g^','MarkerSize',5);
hold on;

plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',15);
hold on;

plot(C(:,1),C(:,2),'r.','MarkerSize',30,'LineWidth',3);
hold on;

legend('聚类C1','聚类C2','质心','Location','NW');



运行产生的随机试验数据:
r1 =

   -1.9197   -1.5771
   -2.8738   -2.0885
   -2.4520   -2.2704
   -1.9906    0.0474
   -3.3071   -0.5084


r2 =

    1.0730    2.0887
    2.7819    1.6868
    3.1847    1.7797
    2.9300    2.6951
    2.9886    2.4277

Replicate 1, 2 iterations, total sum of distances = 9.16468.
Replicate 2, 2 iterations, total sum of distances = 9.16468.
Best total sum of distances = 9.16468

C =

    2.5916    2.1356
   -2.5086   -1.2794


cluster1 =

    1.0730    2.0887
    2.7819    1.6868
    3.1847    1.7797
    2.9300    2.6951
    2.9886    2.4277


cluster2 =

   -1.9197   -1.5771
   -2.8738   -2.0885
   -2.4520   -2.2704
   -1.9906    0.0474
   -3.3071   -0.5084
r1和r2是随机产生的原始二维坐标点。经过K-means聚类后,根据两个质心,归入到两簇:C1簇和C2簇。


结果如图:


附录:
1,《人工智能AI常见的经典K-means聚类算法原理和工作过程》链接:http://blog.csdn.net/zhangphil/article/details/78783629 
2,《数值分析Matlab二维正态(高斯)分布以及协方差矩阵》链接:http://blog.csdn.net/zhangphil/article/details/78803538 
相关文章
|
30天前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 数据可视化
请解释Python中的K-means聚类算法以及如何使用Sklearn库实现它。
【2月更文挑战第29天】【2月更文挑战第104篇】请解释Python中的K-means聚类算法以及如何使用Sklearn库实现它。
|
2天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
6天前
|
文字识别 算法 计算机视觉
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
图像倾斜校正算法的MATLAB实现:图像倾斜角检测及校正
13 0
|
7天前
|
数据采集 算法 数据可视化
R语言聚类算法的应用实例
R语言聚类算法的应用实例
81 18
R语言聚类算法的应用实例
|
9天前
|
机器学习/深度学习 算法
【MATLAB】GA_ELM神经网络时序预测算法
【MATLAB】GA_ELM神经网络时序预测算法
282 9
|
10天前
|
算法 数据可视化 数据挖掘
使用Python实现DBSCAN聚类算法
使用Python实现DBSCAN聚类算法
150 2
|
12天前
|
算法 数据可视化 数据挖掘
使用Python实现K均值聚类算法
使用Python实现K均值聚类算法
16 1
|
29天前
|
算法
m基于log-MPA检测算法的SCMA通信链路matlab误码率仿真
MATLAB 2022a仿真实现了稀疏码多址接入(SCMA)算法,该算法利用码本稀疏性实现多用户高效接入。每个用户从码本中选取码字发送,接收端采用Log-MPA算法进行多用户检测。由于MAP检测计算复杂度高,故采用Log-MPA降低复杂性。仿真展示了不同迭代次数(1, 5, 10, 30)对误码率(BER)的影响,通过比较各次迭代的BER曲线,研究算法性能与迭代次数的关系。
18 0
|
1月前
|
算法 搜索推荐
基于遗传优化的协同过滤推荐算法matlab仿真
该内容是关于推荐系统和算法的描述。使用Matlab2022a执行的算法生成了推荐商品ID列表,显示了协同过滤在个性化推荐中的应用。用户兴趣模型通过获取用户信息并建立数学模型来提高推荐性能。程序片段展示了遗传算法(GA)的迭代过程,确定支持度阈值,并基于关联规则生成推荐商品ID。最终结果是推荐的商品ID列表,显示了算法的收敛和支持值。

热门文章

最新文章