我正在尝试使用 AgglomerativeClustering
提供的 children_
属性构建树状图,但到目前为止我运气不佳。我不能使用 scipy.cluster
因为 scipy
中提供的凝聚集群缺少一些对我很重要的选项(例如指定集群数量的选项)。我将非常感谢那里的任何建议。
import sklearn.cluster
clstr = cluster.AgglomerativeClustering(n_clusters=2)
clusterer.children_
最佳答案
这里是 simple function用于从 sklearn 获取层次聚类模型并使用 scipy dendrogram
函数对其进行绘制。似乎 sklearn 通常不直接支持图形功能。您可以找到与此 plot_dendrogram
代码片段 here 的拉取请求相关的有趣讨论。 .
我要澄清的是,您描述的用例(定义集群数量)在 scipy 中可用:在您使用 scipy 的 linkage
执行层次聚类后,您可以将层次结构切割为任意数量您希望使用 fcluster
的集群数量,其中集群数量在 t
参数和 criterion='maxclust'
参数中指定。
关于python - 使用 sklearn.AgglomerativeClustering 绘制树状图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29127013/