K-Means聚类代码实现

#encoding:utf-8
import numpy as np
from sklearn.cluster import KMeans

def LoadData(filePath):
    f=open(filePath,'r+')
    lines=f.readlines()
    retCityName=[]
    retData=[]
    for line in lines:
         items=line.strip().split(",")
         retCityName.append(items[0])
         retData.append([float(items[i]) for i in range(1,len(items))])
    return retCityName,retData

if  __name__=='__main__':
    CityName,Data=LoadData('city.txt')

    km=KMeans(n_clusters=3)
    label=km.fit_predict(Data)
    # 横向计算每个城市的总开销,并把它归类到相应的簇里面。然后对每个簇进行求平均数。得到expense[i]i从0到3
    expenses=np.sum(km.cluster_centers_,axis=1)
    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])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值