首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何比较两种不同标记的聚类解决方案

如何比较两种不同标记的聚类解决方案
EN

Data Science用户
提问于 2020-07-19 13:17:03
回答 1查看 478关注 0票数 2

我计划对某些数据进行聚类方法的可靠性测试。我的计划是重复(与替换)绘制一些随机子样本对(例如,2x10%的总数据),分别对两种数据进行聚类,然后比较结果。问题是,我使用的是HDBSCAN,它不仅创建了一个非固定数量的集群(针对不同的数据集和相同的params),而且由于没有定义k,所以它也因此对集群进行了不同的标记,而且由于可变性,输入数据的结构总是略有不同。

我在数据的两个子样本(A,B)上使用相同的HDBSCAN参数进行了测试,我的问题很容易看到。有相应样本的A类标签如下:

{-1: 4306, 0: 1737, 1: 2999, 2: 72068, 3: 20628, 4: 3120}

而对于B类,它们是:

{-1: 4478, 0: 1711, 1: 3048, 2: 72089, 3: 3123, 4: 20408}

从这一点看,解决方案似乎非常接近,直到我们比较标签3。看起来,标签3的A对应于标签4的B。

我最初的想法是,我可以根据每个集群的样本大小对它们重新命名。但这假设这两种解决方案在许多测试中都是相似的(这最终是测试的重点)。因此,我的下一个想法是,我可以设置约束条件:(1)噪声组中应该有一个“相似”的样本数,(2)应该有相同数目的簇。如果满足这两个条件,那么我可以按它们的样本大小顺序重新标记集群,然后使用ARI或AMI进行比较。

我怀疑这是否好,因为我不认为(即使考虑到这两个约束)根据样本标记相同的两个集群必然对应于同一个“全局”集群。因此,这在我看来是有问题的,但我想不出另一种选择。

上述做法是否一般合理?如果没有,我还能做些什么来评估HDBSCAN解决方案的可靠性/稳定性吗?作为另一种选择,是否最好只计算DBCV分数、%噪声和集群数量,然后将其用作集群质量的指示?

EN

回答 1

Data Science用户

回答已采纳

发布于 2020-07-20 11:30:49

这只是一个部分的答案,因为我不熟悉HDBSCAN,希望其他人能够提供一个更完整的答案。

据我所知,您需要找到A中的哪个集群对应于B中的哪个集群,即A和B的集群标签之间的对齐,不建议仅根据大小进行匹配,因为A中的集群可能与B中的集群具有相同的大小(或类似的大小)。由于实例不同,您必须依赖于方法如何表示集群。

  • 例如,概率聚类方法将每个聚类表示为特征上的分布,因此可以使用这些分布之间的距离/相似性度量。
  • 用k-表示,我们会比较质心,并匹配距离最短的星系团对。

我不太熟悉HDBSCAN,所以我不知道在模型中集群是如何表示的:不管这是什么,其想法都是将A中的集群内部表示与B中相同的内部表示进行比较。

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

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

复制
相关文章

相似问题

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