我正在尝试理解用于数据挖掘的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
这是我感到困惑的地方,如果我被要求显示所有频繁项目集,我会记下所有F1
和F2
或仅F2
? F1
对我来说不是“集合”。
然后我被要求为我刚刚定义的频繁项目集创建关联规则并计算他们的“置信度”数字,我明白了:
Milk -> Beer = 100% confidence
Beer -> Milk = 80% confidence
将F1
的项目集放在这里似乎是多余的,因为它们都会有100%的置信度而且实际上并没有“关联”任何东西,这就是我现在质疑是否{{}的原因1}}确实“经常”?
答案 0 :(得分:2)
如果他们的支持是合适的,则认为大小为1的项目集是频繁的。 但在这里你必须考虑最小阈值。例如,如果您的示例中的最低阈值 2 ,则不会考虑 F1
。但是,如果最小阈值 1 那么您必须这样做。
希望我帮忙。
答案 1 :(得分:0)
如果最小支持阈值(minsup)是4/7,那么如果它们出现在7个不少于4个事务中,则应该在频繁项目集中包含单个项目。因此在您的示例中,您应该包含它们:
牛奶= 4 鸡= 4 啤酒= 5 奶酪= 4
对于关联规则,它们的格式为X ==> Y,其中X和Y是不相交的项集,并且通常假设X和Y不是空集(这是Apriori假设的)。因此,您至少需要两个项目才能生成关联规则。