数据挖掘十大算法之k均值聚类算法

K-Means算法

K-Means是一种聚类算法,属于无监督学习方法的一种。也是基于原型的聚类算法。简单的介绍就是选取k个中心点,形成簇,然后不断更新中心点,直至簇不再改变。

算法流程

  • 随机生成k个初始点作为中心点
  • 将数据集中的数据按照距离中心点的远近分到各个簇中
  • 将各个簇中的数据求平均值,作为新的中心点,重复上一步,直到所有的簇不再改变

距离的选择

  • 欧氏距离 每个维度的差的平方之和
  • 曼哈顿距离 每个维度的差的绝对值之和
  • 切比雪夫距离 每个维度中最大的差的绝对值
  • 相关系数

优点

  • 易于实现,理解简单。

缺点

  • k的值不好确定,不能准确判断出样本应有几个中心点。
  • 不适用于大型样本,可用mini-batch方法选取部分样本来计算中心点
  • k均值算法不能处理非球形簇、不同尺寸和不同密度的簇,这时需要用到其他聚类算法。
  • 初始中心点的选择对算法有很大影响。
  • 离群数据点对中心点的计算有很大影响。所以去除离群点有助于提高算法准确率。
  • 易收敛于局部最优值,可用二分k均值算法解决这个问题。
阅读更多 登录后自动展开
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页