当前位置:   article > 正文

层次聚类pythonscipy_【转】使用scipy进行层次聚类和k-means聚类

linkage matrix 'z' must contain doubles.

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/774653
推荐阅读
相关标签
  

闽ICP备14008679号