Algorithm Apriori算法中的词典顺序

Algorithm Apriori算法中的词典顺序,algorithm,apriori,Algorithm,Apriori,我使用Apriori算法已经有一段时间了,我想问一下频繁项集候选生成的一个步骤 如果我想将两个频繁的3项集连接到一个(候选)4项集,那么连接项集中必须有两项相同,另一项不同 例如,我可以加入 {Married: Yes, Age:20, Cars:1} and {Married: Yes, Age:20, Unemployed: No} 到 但有时我会在Apriori算法中看到这一步: 我可以从L_{k-1}连接两个freq.itemstes,当存在按字典顺序排列的第一个k-2项相同,最后一个

我使用Apriori算法已经有一段时间了,我想问一下频繁项集候选生成的一个步骤

如果我想将两个频繁的3项集连接到一个(候选)4项集,那么连接项集中必须有两项相同,另一项不同

例如,我可以加入

{Married: Yes, Age:20, Cars:1} and {Married: Yes, Age:20, Unemployed: No}

但有时我会在Apriori算法中看到这一步:

我可以从L_{k-1}连接两个freq.itemstes,当存在按字典顺序排列的第一个k-2项相同,最后一个不同时

但是当我从上面的词典中订购我的项目集时,第一个k-2项目就不一样了,所以我可能不会加入它们

{Age:20, Cars:1, Married: Yes} and {Age:20, Married: Yes Unemployed: No}
我希望我能向你解释清楚我的问题


谢谢你的帮助

是的,你不应该加入他们

让我们举个例子

假设在第3级,您拥有频繁项集:

{A,B,C} {A,B,D} {A C,D} {B,C,D} {B,F,G

现在让我们假设您想要生成大小为4的候选项集

显然,您只需要组合具有1个不同项的项集。否则,结果可能包括大小大于4的项集。例如,如果您可以组合BCD和BFG,则结果将是BCDFG大小为5的项集,这是我们不想要的。因此,这就是为什么我们只组合具有单个不同项的项集的原因耳鼻喉科

现在,让我解释一下为什么我们只合并具有相同的前k-1项的项集,原因是我们不想两次生成相同的候选项

例如,如果我们可以组合BCD和ACD,我们会得到ABCD。如果我们也组合ABC和ABD,我们也会得到ABCD。这不好,因为我们会生成相同的候选项两次!我们不希望这样!因此,根据字典顺序对项集进行排序,并且只有在第一个k-1项相同时才进行组合,我们将解决了这个问题。我们只会结合ABC和ABD,但不会结合BCD和ACD。你可以在Apriori论文中得到证明

希望这有帮助

{Age:20, Cars:1, Married: Yes} and {Age:20, Married: Yes Unemployed: No}