分组数据

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

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

最佳答案

您要找的东西通常称为项目集挖掘,关联规则学习或相似性分析。

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

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

关于machine-learning - 在数据/群集中查找公用组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25984113/

10-12 16:43
查看更多