如何有效地查找所有存储的子集? (关联规则查找)

时间:2017-06-01 09:23:05

标签: algorithm data-structures data-mining

我最近一直在试验association rule learning,从庞大的交易数据库中生成规则。我想使用这些规则来实时提出建议。

有很多关于如何生成规则的文献,但我似乎无法找到有关人们如何以实时方式实际使用这些规则的任何信息,而且暴力无助慢。

所以问题是: 我有成千上万套R(规则前因),我想得到所有集合(来自R),它们是某些提供的集合X的正确子集。我怎样才能最有效地做到这一点?

(只有查找必须快,不建立数据结构)

其他信息:

  • R包含~20000套(现在,应该支持更多)。
  • R中的集合通常具有小于10的基数。
  • X通常具有大约30的基数,但可以大到1000(罕见)。
  • 所讨论的所有集合都包含从0到大约30000(目前)的整数(数据库ID)。

1 个答案:

答案 0 :(得分:0)

不要过度自动化。

尝试自动使用任何无监督方法的输出通常是个坏主意。相反,输出需要由人进行分析和检查。有太多的模式是"正确"但对业务没有任何价值,或任何新颖性。它们可能仅仅反映了当前的产品推荐工作,或商店目前的安排。例如,在数学上,似乎最好向购买意大利面的人建议番茄酱。虽然这确实是一种常见的联想,但你可能会推荐额外的番茄酱,因为每个人都清楚意识到面食+番茄味道不错,不需要告诉他们。

相反,允许专家浏览规则,找到意外的规则,然后计划正确的A / B测试以验证这是否真的有效。