kmeans算法用Python怎么实现

如题所述

from numpy import *
import numpy as np

def distEclud(vecA, vecB):
return sqrt(sum(power(vecA - vecB, 2)))

def randCent(dataSet, k):
n = shape(dataSet)[1]
centroids = mat(zeros((k,n)))
for j in range(n):
minJ = min(dataSet[:,j])
rangeJ = float(max(array(dataSet)[:,j]) - minJ)
centroids[:,j] = minJ + rangeJ * random.rand(k,1)
return centroids

def kMeans(dataSet, k, distMeas=distEclud, createCent=randCent):
m = shape(dataSet)[0]
温馨提示:答案为网友推荐,仅供参考
相似回答