创建K个点作为起始质心(经常是随机选择,但是不能越界,下面的代码有具体的做法) 当任意一个点的簇分配结果发生变化时 对数据集中的每一个数据点 对每个质心 计算质心与数据点的距离 将数据点分配到距离最近的簇 对于每一个簇,计算簇中所有点的均值并将均值作为质心 from numpy import * def loadDataSet(filename...
def Kmeans(dataSet, k, distMeans = distEclud, createCent = randCent): m = shape(dataSet)[0] #建立一个m*2的矩阵位置0记录聚类的索引,位置1记录到聚类质心的距离 clusterAssment = mat(zeros((m,2))) centroids = createCent(dataSet, k) clusterChanged = True while clusterChanged: clusterChanged...