指定凝聚聚类中的最大距离(scikit 学习)
Specify max distance in agglomerative clustering (scikit learn)
使用聚类算法时,您始终必须指定关闭参数。
我目前正在将凝聚聚类与 scikit learn 结合使用,我能看到的唯一关闭参数是聚类数。
agg_clust = AgglomerativeClustering(n_clusters=N)
y_pred = agg_clust.fit_predict(matrix)
但我想找到一种算法,您可以在其中指定集群元素内的最大距离,而不是集群的数量。
因此,该算法将简单地聚集集群,直到达到最大距离。
有什么建议吗?
您要查找的内容已在 scipy.cluster.hierarchy 中实现,请参阅 here。
所以这是你可以做到的:
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')
使用聚类算法时,您始终必须指定关闭参数。
我目前正在将凝聚聚类与 scikit learn 结合使用,我能看到的唯一关闭参数是聚类数。
agg_clust = AgglomerativeClustering(n_clusters=N)
y_pred = agg_clust.fit_predict(matrix)
但我想找到一种算法,您可以在其中指定集群元素内的最大距离,而不是集群的数量。 因此,该算法将简单地聚集集群,直到达到最大距离。
有什么建议吗?
您要查找的内容已在 scipy.cluster.hierarchy 中实现,请参阅 here。
所以这是你可以做到的:
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')