当前位置:   article > 正文

K-means算法_初始聚类中心的位置可以出随机生成

初始聚类中心的位置可以出随机生成

算法思想:

以空间中K个点为中心,对最靠近他们的点进行归类,通过迭代,逐次更新各聚类中心点的值,直到有最好的聚类效果

算法描述:

1)开始随机选中k个点作为初始中心

2)开始迭代,求其到各中心ci的距离,算出距离di,选出di最小的一个中心点,作为这个点所在类

3)利用均值的方法更新该类的中心值,也就是把迭代过后,所有属于某个中心点的值的x和y进行求平均找到新的中心点

4)对于所有的c个聚类中心,如果利用(2)(3)的方法迭代更新后,值保持不变,则迭代结束(或者达到一定的次数),否则继续迭代

算法流程:

输入k,data[n]

1)选择k个初始中心点c[0] = data[0],.....,c[k-1]=data[k-1]

2)对于data[0], ...... data[n-1] 分别与c[0] ....c[k-1]比较,选出差值最小的,标记为i

3)对于所有标记点相同的,重新计算c[i]的值

4)重复(2)(3)操作,直到所有c[i]值的变化小于给定阈值

 

代码实现

  1. import numpy as np
  2. def Kmeans(X, k, maxIt):
  3. # numPoints 是 X 的行数量,numDim是X的列数量
  4. numPoints =
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/701375
推荐阅读
相关标签
  

闽ICP备14008679号