我试图了解用于数据挖掘的Apriori(篮子)算法的基础知识,
最好用一个例子来说明我的复杂性:
这是一个事务数据集:
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
上面的分钟为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%的置信度,无论它们是否实际上不“关联”任何东西,这就是我现在质疑F1
是否确实是“频繁”的原因。 最佳答案
如果支持的大小合适,则认为大小为1的项目集很频繁。 但是在这里,您必须考虑最小阈值。例如,如果您的示例中的最小阈值为 2 ,则将不考虑 F1
。但是,如果最小阈值为 1 ,则必须这样做。
您可以看看here和here了解更多的想法和示例。
希望我能帮上忙。