是否可以预先指定一个聚类结构,然后根据R中常见的聚类标准进行合并?

问题描述 投票:0回答:1

假设我有一个数据集,我在其中进行了聚类分析,例如 k=9。也许这是来自 k 均值,或者我刚刚完成了完整的链接层次聚合,或者我从散点图中观察到了它,我不认为我如何得到 k=9 很重要。*假设现在我想要 k =5 个簇,但我想从 k=9 簇结果继续获取这些 k=5 个簇。最后假设我希望合并按照 k-means(例如,从 k=9 合并到 k=8 最小化 WSS)、完整链接等原则进行。我有什么办法可以做这在 R 中?或者我必须编写自己的函数吗?

本质上,如果我想创建一个分层凝聚结构,而不是从 k=N 个单例集群开始,该怎么办?我可以在 R 中做到这一点而不必编写自己的函数吗?

主要**,我试图做的是寻找解决方案。有人对 Python 提出了类似的问题(amd 会接受 R 答案),但只得到了一个与质心链接相关的答案。质心链接有问题,iirc,被称为反转,而且我也不知道认为在合并单例之后这甚至会起作用(除非我犯了一个可怕的错误,否则合并的新质心不会是两个质心的质心,除非合并的集群具有相同数量的成员)。


*实际上,我有一个相当不稳定的 k=5 k 均值分割,并且我生成了一个表示 1009 个分割的不稳定性的矩阵。然后,我尝试创建我猜我们可能称之为模态集群的东西,但我的代码有缺陷,因此我试图通过从我有缺陷的代码生成的 k=9 结构到所需的 k=5 分段来捏造它。

**就我的具体问题而言,我还将 100% 次共置值的矩阵视为距离对象,并用它来进行分层聚类。我认为这可以作为我有缺陷的代码的替代方案,但它并没有“认为”它解决了如何预先指定集群结构然后从中合并的核心问题。这个“解决方案”是受这个答案启发的。此外,这就是它生成的适合我的数据的完整链接:

所以,我想我明白你在说什么。我担心的是你希望定义一组 5 个质心(或一组 5 个),然后要求 R 将 9 个簇分成这些特定的 5 个簇。
r cluster-analysis k-means hierarchical-clustering
1个回答
0
投票
这违背了聚类分析的目的。使用集群模型,您可以找出数据中的固有结构。该模型定义集群不是基于实用性,而是基于内部数据结构。

如果您只想要 5 个集群,那么您必须以某种方式指定这一点,并接受您可能没有最佳数量来构建尽可能强大的集群集。

如果我猜的话,最终目标是让无监督模型表现得像监督模型一样......但它不应该那样工作。

您需要做出一些决定:

以最佳数量(k=9)稳健地聚类

    使用 k=5 时集群鲁棒性较差
  • 对 9 个集群和 5 个集群进行广泛的探索,看看是否出现有意义的现实世界片段,然后使用您在探索中学到的知识为所有数据创建类和标签,并依赖监督模型作为最终模型进行关联新的数据点与现有的基于集群的类
  • 我确信这不是您想要的,但是任何强制质心的尝试都会使模式检测的全部意义无效......在我不那么权威的观点中。

© www.soinside.com 2019 - 2024. All rights reserved.