你好,游客 登录
背景:
阅读新闻

数据挖掘十大算法之k-means算法

[日期:2015-06-26] 来源:CSDN博客  作者:卿笃军 [字体: ]

  1、引言

  k-means算法主要是用来解决什么问题呢?主要是用来解决类似于这样的问题:聚类,如一次班级聚餐,平时玩的好的同学,就会自动的聚集在一起愉快的玩耍。那么什么样才算平时玩的好呢?请看k-means算法。

  K-means算法是硬聚类算法,是典型的基于原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-means算法以欧式距离作为相似度测度,它是求对应某一初始聚类中心向量V最优分类,使得评价指标J最小。算法采用误差平方和准则函数作为聚类准则函数。

  2、以一个实例来描述k-means算法:

  题目:使用K-均值算法把表5-3中的8个点聚为3个簇,假设第一次迭代选择序号1、序号4和序号7当作初始点,请给出第一次执行后的3个聚类中心以及聚类最终的3个簇。

  

  解:

  假设每个对象有m个属性,可以把一个对象视为m维空间的一个点,n个对象就是m维空间的n个点。

  

  k-means(n=8,k=3)主要步骤:

  第一次迭代:假设第一次选择序号1、序号4和序号7,分别找到离三点最近的对象,并产生三个簇{1}、{3,4,5,6,8}和{2,7},具体计算见下表:

  

  对于产生的簇分别计算平均值,得到平均值点(将属性值直接平均即可):

  {1}->{2,10}

  {3,4,5,6,8}->{6,6}

  {2,7}->{1.5,3.5}

  第二次迭代:以{2,10},{6,6},{1.5,3.5}为中心值,再次执行第一次迭代步骤。

  第三次迭代:…..一直到最后一次迭代后产生的簇与上一次的相同,停止迭代,则该簇为最终簇。

  3、Word文档下载

  (1)http://download.csdn.net/detail/u012339743/8827581

  原文作者:Joe Chael

  原文地址:http://blog.csdn.net/qingdujun/article/details/46591701





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款