确定层次聚类中的组

我有一个算法可以将数据分组到一个层次聚类树中。这个算法是Toby Seagram在《Programming Collective Intelligence》一书中描述的。树的输出是一个二叉树,每个节点都有一个“距离”值,指示两个子节点之间的距离。

我可以将其显示为树状图,这样人类可以很容易地看出哪些值被分组在一起。然而,我在寻找一个能够自动决定分组的算法时遇到了困难。我希望能够自动确定:

  • 组的数量
  • 哪些点应该被放入每个组中

有没有标准的算法来做这件事?


回答:

我认为没有默认的方法来做这件事。简单的“手动”方法包括:

  • 指定你想要/期望的聚类数量
  • 设置两个节点之间最大距离的阈值;任何距离大于该阈值的节点属于另一个聚类

有一些自动方法可以确定数据集中聚类的数量R语言有动态树切割包,它可以自动处理这个问题,另外pvclust也可以使用。这里还有两个方法来处理这个问题,分别是Salvador (2002)Daniels (2006)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注