通信人家园

 找回密码
 注册
搜索

军衔等级:

  新兵

注册时间:
2012-4-8
发表于 2018-6-4 16:34:09 |显示全部楼层
大家好!近期对K-Means算法做了学习。众所周知,K-Means是经典的大数据聚类算法之一,通过均值算法将数据进行聚类,遵循最小误差平方和准则,所有类簇的误差平方和越小,则该K类的聚类效果越优。KMeans无法通过解析求最小值,只能通过迭代求解。
通过伪代码表述的K-Means算法基本过程为:
1 创建K个点作为初始质心点(位置随机)
2 While(当任意样本点的分类发生改变时)
   {
        for(对每个样本点)
        {
        for(对每个质心)
        {
                计算样本点到质心的距离
        }
        将样本点划分至距离最小的质心类
        }
        计算每个类的均值,作为该类新的质心
   }
3 算法结束

附件是通过C#实现的K-Means算法程序的原始工程文件,实现的效果如下图所示。初次学习,理解还不够深入,恳请各位前辈指正,谢谢!
Kmeans.rar (166.72 KB, 下载次数: 1)

以二维空间的样本点位置进行聚类,下图中每个颜色代表一个类,下图最终将所有的样本点聚成了5类:
1.png

2.png



军衔等级:

  上等兵

注册时间:
2018-3-13
发表于 2018-6-4 16:50:36 |显示全部楼层
还用得着你编,到处都是
您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|C114 ( 沪ICP备12002292号 )|联系我们 |网站地图  

GMT+8, 2018-10-24 04:48 , Processed in 0.078125 second(s), 16 queries , Gzip On.

Copyright © 1999-2018 C114 All Rights Reserved

Discuz Licensed

回顶部