在数据/群集中查找公共组

时间:2014-09-22 22:35:26

标签: machine-learning cluster-analysis

分组数据

我有一组项目,我想根据它们通常一起显示的方式进行细分。例如,如果我有以下数据:

{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,例如混合模型,或层次聚类似乎是正确的方向?

1 个答案:

答案 0 :(得分:2)

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

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

现在您已经拥有了适当的词汇表,您应该能够找到许多APriori的教程和实现,因为它是一种“经典”算法/解决方案,以及更多这类工作的算法。