在凝聚聚类中指定最大距离(scikit learn)

Arc*_*yno 5 python algorithm hierarchical-clustering scikit-learn

使用聚类算法时,您始终必须指定关闭参数。

我目前正在使用 scikit learn 的凝聚聚类,我能看到的唯一关闭参数是集群的数量。

agg_clust = AgglomerativeClustering(n_clusters=N)
y_pred = agg_clust.fit_predict(matrix)
Run Code Online (Sandbox Code Playgroud)

但是我想找到一种算法,您可以在其中指定集群元素内的最大距离,而不是集群数量。因此,该算法将简单地聚集集群,直到达到最大距离。

有什么建议吗?

Ugu*_*ite 2

您正在寻找的内容在scipy.cluster.hierarchy中实现,请参阅此处

所以你可以这样做:

from scipy.cluster.hierarchy import linkage, fcluster
y_pred = fcluster(linkage(matrix), t, criterion='distance')  

# or more direct way
from scipy.cluster.hierarchy import fclusterdata
y_pred = fclusterdata(matrix, t, criterion='distance')
Run Code Online (Sandbox Code Playgroud)