频繁项目集&关联规则 - Apriori算法

时间:2013-01-06 15:11:33

标签: algorithm data-mining apriori

我正在尝试理解用于数据挖掘的Apriori(Basket)算法的基础知识,

我最好用一个例子解释我所遇到的并发症:

这是一个交易数据集:

t1: Milk, Chicken, Beer
t2: Chicken, Cheese
t3: Cheese, Boots
t4: Cheese, Chicken, Beer
t5: Chicken, Beer, Clothes, Cheese, Milk
t6: Clothes, Beer, Milk
t7: Beer, Milk, Clothes

上面的 minsup是0.5或50%。

从上面可以看出,我的交易数量显然是7 ,这意味着对于一个项目集来说,“频繁”它必须具有 4/7 的计数。因此,这是我的常用项目集1:

F1:

Milk = 4
Chicken = 4
Beer = 5
Cheese = 4

然后我创建了第二次改进的候选人(C2)并将其缩小为:

F2:

{Milk, Beer} = 4

这是我感到困惑的地方,如果我被要求显示所有频繁项目集,我会记下所有F1F2或仅F2F1对我来说不是“集合”。

然后我被要求为我刚刚定义的频繁项目集创建关联规则并计算他们的“置信度”数字,我明白了:

Milk -> Beer = 100% confidence
Beer -> Milk = 80% confidence

F1的项目集放在这里似乎是多余的,因为它们都会有100%的置信度而且实际上并没有“关联”任何东西,这就是我现在质疑是否{{}的原因1}}确实“经常”?

2 个答案:

答案 0 :(得分:2)

如果他们的支持是合适的,则认为大小为1的项目集是频繁的。 在这里你必须考虑最小阈值。例如,如果您的示例中的最低阈值 2 ,则不会考虑 F1 。但是,如果最小阈值 1 那么您必须这样做。

您可以查看herehere以获取更多想法和示例。

希望我帮忙。

答案 1 :(得分:0)

如果最小支持阈值(minsup)是4/7,那么如果它们出现在7个不少于4个事务中,则应该在频繁项目集中包含单个项目。因此在您的示例中,您应该包含它们:

牛奶= 4 鸡= 4 啤酒= 5 奶酪= 4

对于关联规则,它们的格式为X ==> Y,其中X和Y是不相交的项集,并且通常假设X和Y不是空集(这是Apriori假设的)。因此,您至少需要两个项目才能生成关联规则。