def formClusters(dists, link, distance):
"""Form clusters based on hierarchical clustering of input distance matrix
with linkage type and cutoff distance
:param dists: numpy matrix of distances
:param link: linkage type for hierarchical clustering
:param distance: distance at which to cut into clusters
:return: list of cluster assignments
"""
# Make distance matrix square
dists = squareform(dists)
# Compute linkage
links = linkage(dists, link)
# import matplotlib.pyplot as plt
# from scipy.cluster import hierarchy
# plt.figure(figsize=(15,5))
# p = hierarchy.dendrogram(links)
# Break into clusters based on cutoff
clusters = fcluster(links, distance, criterion='distance')
return clusters
评论列表
文章目录