【问题标题】:Finding Common Groups in Data / Clustering在数据/聚类中寻找共同组
【发布时间】:2014-11-17 00:16:24
【问题描述】:

分组数据

我有一组项目,我想根据它们通常一起出现的方式将它们分成集群。例如,如果我有以下数据:

{a:1, b:1, c:0, d:0}
{a:1, b:1, c:0, d:0}
{a:1, b:1, c:1, d:0}
{a:0, b:0, c:1, d:1}

我们可以将 a 和 b 组合在一起,因为它们总是具有相同的值。 C 和 D 将各自位于各自的集群中,因此我们最终会得到 3 个可以 100% 准确表示此数据的集群。

此外,我想牺牲准确性来减少子组的数量。例如,通过上述数据集,我们可以将 A 和 B 分到一个没有准确度损失的集群中,将 C 和 D 分到一个准确度损失较小的集群中。

基本上,我想将数据分组到给定数量的最佳集群中,并能够通过这样做来计算准确性损失。

初步想法

几年前我参加了机器学习课程,所以我知道这很危险,但我不知道从哪里开始。 Some form of clustering,比如混合模型,或者层次聚类似乎是正确的方向?

【问题讨论】:

  • 你可能会发现这个社区有点用stats.stackexchange.com
  • @Leo 是的,我认为那里看起来更相关。我应该重新发布它吗?
  • 我相信你会在那里找到答案。 Stackoverflow 通常更适合特定的编程问题。
  • 认为您正在寻找主成分分析。您可以用多种语言轻松完成此操作

标签: machine-learning cluster-analysis


【解决方案1】:

您要查找的内容通常称为项集挖掘关联规则学习亲和力分析

(名称不佳)Apriori algorithm 是用于此类分析的较早且最常用的算法之一,其中包括“牺牲准确性”以减少子组数量的方法。

既然您已经掌握了适当的词汇,您应该能够找到许多 APriori 的教程和实现,因为它是一个“经典”算法/解决方案,以及更多用于此类工作的算法。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-28
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
相关资源
最近更新 更多