急求:k-means聚类算法进行可视化的界面设计与实现,好的加分

思考如何对k-means聚类算法进行可视化的界面设计与实现,做成方便、实用的软件工具。界面设计包括:
① 数据导入或者输入:包括可以导入txt文件或者对于小的数据集,可以从界面直接输入数据
② 属性设置:传统的k-means聚类算法只能处理连续属性(样本之间的相似度使用欧氏距离来衡量),
③ 参数设置:用户可以选择聚类的个数(也就是说,将数据集聚为几类),选择算法循环的次数。
④ 结果输出:输出聚类的结果,即每个样本聚类之后的类标号
最好是C++ 或C#语言的,高手们帮帮忙

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的个数;
(4) 重复(2)(3),直到所有c[i]值的变化小于给定阈值。

算法实现起来应该很容易,就不帮你编写代码了。
另外,团IDC网上有许多产品团购,便宜有口碑
温馨提示:答案为网友推荐,仅供参考
相似回答