急求:k-Means聚类算法实现

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:20:49
了解并实现k-Means算法,希望哪为能给我点详细的描述资料..谢谢.
谁有资料的话++下我的QQ51239367,我要写东西,所以需要讲解比较详细的资料,谢谢.

现在在线等着,谢谢

K-MEANS算法:
k-means 算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。

k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

具体如下:
输入:k, data[n];
(1) 选择k个初始中心点,例如c[0]=data[0],…c[k-1]=data[k-1];
(2) 对于data[0]….data[n], 分别与c[0]…c[n-1]比较,假定与c[i]差值最少,就标记为i;
(3) 对于所有标记为i点,重新计算c[i]={ 所有标记为i的data[j]之和}/标记为i的个数;
(4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。

算法实现起来应该很容易,就不帮你编写代码了。

什么是 k-means 聚类算法?
从网上找到了很多定义,这里选取比较典型的几个;
K-Mean 分群法是一种分割式分群方法,其主要目标是要在大量高纬的资料点中找出
具有代表性的资料点;这些资料点可以称为群中心,代表点;然后再根据这些
群中心,进行后续的处理,这些处理可以包含
1 )资料压缩:以少数的资料点来代表大量的资料,达到资料压缩的功能;
2 )资料分类:以少数代表点来代表特点类别的资料,可以降低资料量及计算量;

需要程序的话我发给你,太长了