赞
踩
scipy cluster库简介
scipy.cluster是scipy下的一个做聚类的package, 共包含了两类聚类方法:
1. 矢量量化(scipy.cluster.vq):支持vector quantization 和 k-means 聚类方法
2. 层次聚类(scipy.cluster.hierarchy):支持hierarchical clustering 和 agglomerative clustering(凝聚聚类)
聚类方法实现:k-means和hierarchical clustering.
###cluster.py#导入相应的包
importscipyimportscipy.cluster.hierarchy as schfrom scipy.cluster.vq importvq,kmeans,whitenimportnumpy as npimportmatplotlib.pylab as plt#生成待聚类的数据点,这里生成了20个点,每个点4维:
points=scipy.randn(20,4)#1. 层次聚类#生成点与点之间的距离矩阵,这里用的欧氏距离:
disMat = sch.distance.pdist(points,'euclidean')#进行层次聚类:
Z=sch.linkage(disMat,method='average')#将层级聚类结果以树状图表示出来并保存为plot_dendrogram.png
P=sch.dendrogram(Z)
plt.savefig('plot_dendrogram.png')#根据linkage matrix Z得到聚类结果:
cluster= sch.fcluster(Z, t=1, 'inconsistent')print "Original cluster by hier
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。