基于欧几里德距离的kmeans算法.docxVIP

  • 7
  • 0
  • 约2.2千字
  • 约 5页
  • 2018-02-09 发布于河南
  • 举报
基于欧几里德距离的kmeans算法

基于欧几里德距离的K-means算法---Matlab源代码闲着无聊,把自己以前写的基于欧几里德距离的k-means源代码拿出来看了一下,发现竟然还差强人意。除了实现了传统K-means的基本功能以外,还实现了通过可视化的方法来优化K值的功能。今天晚上再实现基于语义相似度矩阵的K-means算法,并通过另一种更合理的方法(粒子群优化算法,PSO)来优化K值,然后发布出来。现提供这个版本的matlab源代码如下:function rand_diff = rand_diff( k,n )% 产生k个不相等的从1到n的随机数% Author:captaincrunch% 产生n个不相等的从1到n的随机数y=rand(1,n);[ignore p]=sort(y);%选取其中前k个并返回rand_diff=p(1:k);endfunction [A q]=k_clustering( k,n,e )% k-平均算法% Author:captaincrunch% 输入簇的数目k和包含n个对象的数据库;输出k个簇,使平方误差准则最小% e为程序停止的判断准则,即判断准则函数的值重复e次,便判定它收敛%载入实验数据load data p;[row column]=size(p);%产生k个不相等的从1到n的随机数放入到矩阵rand_A中rand_A=rand_diff(k,n);%初始化k*n的矩

文档评论(0)

1亿VIP精品文档

相关文档