Algorithm 常用项目集&;关联规则Apriori算法

Algorithm 常用项目集&;关联规则Apriori算法,algorithm,data-mining,apriori,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 上述的分钟上升为

我试图理解用于数据挖掘的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
上述的分钟上升为0.5或50%。

从上面可以看出,我的事务数显然是7,这意味着一个项目集要“频繁”,它必须有4/7的计数。因此,这是我的常用项目集1:

F1:

Milk = 4
Chicken = 4
Beer = 5
Cheese = 4
{Milk, Beer} = 4
然后,我为第二次改进(C2)创建了候选项,并将其缩小为:

F2:

Milk = 4
Chicken = 4
Beer = 5
Cheese = 4
{Milk, Beer} = 4
这就是我感到困惑的地方,如果我被要求显示所有频繁的项目集,我是写下所有的
F1
F2
还是只写
F2
<代码>F1对我来说不是“集合”

然后,我被要求为我刚刚定义的频繁项集创建关联规则,并计算它们的“置信度”数字,我得到以下结果:

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

F1
的项目集放在这里似乎是多余的,因为不管怎样,它们都有100%的置信度,实际上不会“关联”任何东西,这就是为什么我现在质疑
F1
是否确实是“频繁的”?

如果它们的支持合适,则认为大小为1的项目集是频繁的<强>但这里必须考虑<强>最小阈值<强>。例如,如果示例中的最小阈值为2,则将不考虑
F1
。但是如果最小阈值1,则您必须这样做

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


希望我能帮忙

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

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


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

在这种情况下,未指定最小阈值,是否认为
F1
项目是频繁的?他们是否应该在“关联规则”中被代表,甚至认为他们只与自己关联?不幸的是,是的。但是,如果没有最小阈值,apriori是没有用的。因为这会导致错误的规则。最小阈值总是由数据分析员确定。空集也是一个集合。有些集合有一个元素。它们可以是频繁项集,而不需要给出有用的关联规则。