k-means算法。它不仅是最简单的聚类算法,也是最普及且最常用的。k-means算法是一种基于形心的划分数据的方法。我们给定一个数据集DD,以及要划分的簇数kk,就能通过该算法将数据集划分为kk个簇。一般来说,每个数据项只能属于其中一个簇。具体方法可以这样描述: 假设数据集在一个mm维的欧式空间中,我们初始时,可随机选择kk个数据项作为这kk个簇的形心Ci,i∈{1,2,…k}Ci,i∈{1,2,…k},每个簇心代表的其实是一个簇,也就是一组数据项构成的集合。然后对所有的nn个数据项,计算这些数据项与CiCi的距离(一般情况下,在欧式空间中,数据项之间的距离用欧式距离表示)。比如对于数据项Dj,j∈{1,…n}Dj,j∈{1,…n},它与其中的一个簇心CiCi最近,则将DjDj归类为簇CiCi. 通过上面这一步,我们就初步将DD划分为kk个类了。现在重新计算这kk个类的形心。方法是计算类中所有数据项的各个维度的均值。这样,构成一个新的形心,并且更新这个类的形心。每个类都这样计算一次,更新形心。 对上一步计算得到的新的形心,重复进行第(1),(2)步的工作,直到各个类的形心不再变化为止。
2019-12-21 21:49:32 1.17MB K-mean 聚类 算法
1
K-means,传统计算K均值的一种聚类算法,因其复杂度抵而应用最为普遍的一种聚类方法
2019-12-21 21:25:59 2KB k-means matlab
1
运用K-means算法进行图像分割, K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。 k个初始类聚类中心点的选取对聚类结果具有较大的 公式 公式 影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的簇。当考察完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来。如果在一次迭代前后,J的值没有发生变化,说明算法已经收敛。 算法过程如下: 1)从N个文档随机选取K个文档作为质心 2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类 3)重新计算已经得到的各个类的质心 4)迭代2~3步直至新的质心与原质心相等或小于指定阈值,算法结束 具体如下: 输入:k, data[n]; (1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1]; (2) 对于data[0]….data[n],分别与c[0]…c[k-1]比较,假定与c[i]差值最少,就标记为i; (3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数; (4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。 折叠工作原理 K-MEANS算法的工作原理及流程 K-MEANS算法 输入:聚类个数k,以及包含 n个数据对象的数据库。 输出:满足方差最小标准的k个聚类。
2019-12-21 20:43:27 307B K-means 图像分割 聚类
1
文件中包含K-Means聚类算法C#版本,一个文件中包含7个函数,使用的时候直接将C#文件复制到项目中即可使用,调用的时候主函数会直接返回结果
2019-12-21 20:36:30 2KB 算法
1
这个资源是一个拥有完整代码与测试数据的k-means算法文件,集原始算法与改进算法于一个程序,通过选择不同的标签号来使用算法,能完整运行,效果很好,希望对大家有帮助!
2019-12-21 20:35:43 1.14MB 人工智能
1
改进的K-means聚类算法初始聚类中心确定,采用matlab实现,2016a的matlab,直接打开文件、添加路径就可以使用了。
2019-12-21 20:35:23 3KB K-means聚类
1
K-means 算法实现。K-means 聚类 也是找来的。。。
2019-12-21 20:29:59 3.67MB K—means
1
多种K-means聚类算法或改进算法包, 多种语言不同keams聚类算法。可运行
2019-12-21 20:12:18 666KB 聚类算法
1
包括两个文件,kmeans聚类算法cpp文件,和用于测试的鸢尾花数据集txt文件,代码带详细注释,简洁明了,下载之后马上可以进行测试
2019-12-21 20:02:28 3KB 聚类算法 鸢尾花数据集 源码
1
K-means聚类算法的C++实现,包含分词器,可以进行多关键词的聚类
2019-12-21 19:59:46 10KB K-means 聚类 C++ 分词器
1