聚类算法层次聚类

###cluster.py
#导入相应的包
import scipy
import scipy.cluster.hierarchy as sch
from scipy.cluster.vq import vq,kmeans,whiten
import numpy as np
import matplotlib.pylab as plt
 
#生成待聚类的数据点,这里生成了20个点,每个点4维:
points=scipy.randn(20,4)  
#加一个标签进行区分
A=[]
for i in range(20):
    a=chr(i+ord('A'))
    A.append(a)
#1. 层次聚类
#生成点与点之间的距离矩阵,这里用的欧氏距离:
disMat = sch.distance.pdist(points,'euclidean') 
#进行层次聚类:
Z=sch.linkage(disMat,method='average') 
#将层级聚类结果以树状图表示出来并保存为plot_dendrogram.png
P=sch.dendrogram(Z,labels=A)

 

你可能感兴趣的:(算法)