python_kmeans学习

来源:互联网 发布:北京软件学院 编辑:程序博客网 时间:2024/06/16 23:00

由于最近几个月事情比较杂就没有足够的时间去学习。延误一些计划安排所以最近几个月过的非常混乱。去年看一篇博客写用K_means分析做任务划分非常意思啊,于是想尝试做一下

1.任务介绍

   饮水机分布在温哥华这个城市大街小巷,水务公司的维修部门只有5个人怎么对区域的里水龙头进行合理任务维修工作划分了?按行政区域划分?按通勤划分?


2.数据来源

   数据来源温哥华饮水机数据可以根据自已需要下载格式数据格式。

3.使用方法

   本次任务量划分是采用K_means方法了,关于K_means的原理我就不写反正维基里有,无非不就是粘贴复制,总的来说核心就是物以类聚,人与群分。贴出代码是来自python数据分析与挖掘实战。

# -*- coding: utf-8 -*-import pandas as pdfrom sklearn.cluster import KMeans #导入K均值聚类算法inputfile = 'E:\k-means\wgh.xls' #待聚类的数据文件outputfile = 'E:\k-means\wgh_1.xls'k = 5                       #需要进行的聚类类别数iteration = 500             #聚类最大循环数#读取数据并进行聚类分析data = pd.read_excel(inputfile,skiprows=0,index_col=0) #读取数据# next(data)#调用k-means算法,进行聚类分析kmodel = KMeans(n_clusters = k)kmodel.fit(data) #训练模型r1 = pd.Series(kmodel.labels_).value_counts()  #统计各个类别的数目r2 = pd.DataFrame(kmodel.cluster_centers_)     #找出聚类中心r = pd.concat([r2, r1], axis = 1) #横向连接(0是纵向),得到聚类中心对应的类别下的数目r.columns = list(data.columns) + [u'类别数目'] #重命名表头print rr = pd.concat([data, pd.Series(kmodel.labels_, index = data.index)], axis = 1)  #详细输出每个样本对应的类别r.columns = list(data.columns) + [u'聚类类别'] #重命名表头r.to_excel(outputfile) #保存分类结果print r

4.结果

 

参考资料

http://blog.geohey.com/tong-guo-ju-lei-fen-xi-jin-xing-gong-zuo-ren-wu-hua-fen/

http://scikit-learn.org/

python数据分析与挖掘实战


原创粉丝点击