import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
2、随机生成聚类中心点
def initCentroids(dataSet,k):
numSamples,dim=dataSet.shape
centroids=np.zeros((k,dim))
for i in range(k):
index=int(np.random.uniform(0,numSamples))
centroids[i,:]=dataSet[index,:]
return centroids
def kmeans(dataSet,k):
numSamples=dataSet.shape[0]
clusterAssment=np.mat(np.zeros((numSamples,2)))
clusterChanged=True
centroids=initCentroids(dataSet,k)
while clusterChanged:
clusterChanged=False
for i in range(numSamples):
minDist=100000.0