通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  新兵

注册:2012-4-8
跳转到指定楼层
1#
发表于 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, 下载次数: 54)

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

举报本楼

本帖有 40 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-4-27 10:39 , Processed in 0.102628 second(s), 18 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部