系统聚类算法又称层次聚类或系谱聚类,首先把样本看作各自一类,定义类间距离,选择距离最小的一对元素合并成一个新的类,重复计算各类之间的距离并重复上面的步骤,直到将所有原始元素分成指定数量的类。...from random import randrange
def generate(s, m1, m2):
'''生成形式如[('a', (1,5)), ('b', (3,6))]的随机坐标'''...ch, (randrange(m1), randrange(m1))) for ch in s]
return x
def xitongJulei(points, k=5):
'''根据欧几里得距离对points...进行聚类,最终划分为k类'''
points = points[:]
while len(points)>k:
nearest = float('inf')
# 查找距离最近的两个点...,进行合并
# 合并后的两个点,使用中点代替其坐标
for index1, point1 in enumerate(points[:-1]):
position1