首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无监督层次聚类

无监督层次聚类
EN

Data Science用户
提问于 2021-02-13 09:31:25
回答 1查看 178关注 0票数 0

我读过许多论文,其中作者谈到了“无监督的层次聚集聚类”。它们似乎意味着该算法根据一个超参数来确定集群的数量:

我们将簇内的异质性度量定义为所有对jaccard距离的平均值,并且在每一步中,如果所产生的簇的异质性低于指定的阈值,则将两个簇合并。

当我搜索聚合集群的python实现时,我总是想出sklearn,它需要指定集群的数量。在大多数例子中,这是通过绘制树状图来计算的,然后根据看上去是在盯着图表的星系团来确定--例如,https://towardsdatascience.com/machine-learning-algorithms-part-12-hierarchical-agglomerative-clustering-example-in-python-1e18e0075019,我认为仅仅从图表中就不可能确定3或5是最优的(基于最大垂直距离)。我相信这是Wards方法,但我不确定这与“合并异构性低于阈值的集群”和

这在sklearn中是可能的,还是有另一个python实现可以做到这一点呢?我觉得至少应该有一种方法来编程处理树状图,而不是绘制它?

EN

回答 1

Data Science用户

发布于 2021-02-13 23:19:16

我想我已经想出了如何实现我正在研究的论文中描述的algorithm。我怀疑他们使用了scipy.cluster.hierarchy

总之,我的过程是:

  1. 从我的例子列表中生成一个距离矩阵y。
  2. 使用scipy.cluster.hierarchy.linkage计算连接
  3. 使用scipy.cluster.hierarchy.fcluster生成平面簇

最后一步是应用上述阈值的地方。关于如何使用fcluster生成基于heterogeneity的集群,我仍然有一个问题。

我发现令人困惑的是,关于如何确定sklearn.cluster.AgglomerativeClustering的集群数量的教程很多,它们使用scipy.cluster.hierarchy.linkage,然后用scipy.cluster.hierarchy.dendrogram绘制树状图,然后用它们直观地识别需要多少集群。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/89318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档