**
-
Ward策略:让所有类簇中的方差最小化。
-
Maximum策略:也叫completed linkage(全连接策略),力求将类簇之间的距离最大值最小化。
-
Average linkage策略:力求将簇之间的距离的平均值最小化
-
single单次使用所有观测之间的最小距离两组中的一组。
AgglomerativeClustering中linkage参数为 [‘ward’, ‘complete’, ‘average’,‘single’]**
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import AgglomerativeClustering
#从磁盘读取城市经纬度数据
X = []
with open('../K_means/data.txt') as f:
for v in f:
X.append([float(v.split(',')[2]), float(v.split(',')[3])])
#转换成numpy array
X = np.array(X)
#类簇的数量
n_clusters = 5
#现在把数据和对应的分类数放入聚类函数中进行聚类,使用方差最小化的方法'ward'
cls = AgglomerativeClustering(linkage='ward', n_clusters=n_clusters).fit(X)
#X中每项所属分类的一个列表
cls.labels_ # X对应index列表
#画图
markers = ['^', 'x', 'o', '*', '+']
fo