import numpy as np
from sklearn.cluster import KMeans
def loadData(filePath):
fr=open(filePath,'r+')
lines=fr.readlines()
rownum=len(lines)
retData=[]
retCityName=[]
#skipe the first row
for line in range(1,rownum):
items=lines[line].strip().split("\t")
retCityName.append(items[0])
retData1=[]
for i in range(1,len(items)):
retData1.append(float(items[i]))
retData.append(retData1)
fr.close()
return retData,retCityName
if __name__=='__main__':
data,cityName=loadData('d:/test/city.txt')
km=KMeans(n_clusters=3)
label=km.fit_predict(data)
expenses=np.sum(km.cluster_centers_,axis=1)
#print(expenses)
CityCluster=[[],[],[]]
for i in range(len(cityName)):
CityCluster[label[i]].append(cityName[i])
for i in range(len(CityCluster)):
print("Expenses:%.2f"% expenses[i])
print(CityCluster[i])
python-kmeans
最新推荐文章于 2024-08-11 16:00:02 发布