python-kmeans

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])

猜你喜欢

转载自blog.csdn.net/c11611/article/details/78716429