如何确定至少一个 2 项集是不是在 3 项集列表中?

Posted

技术标签:

【中文标题】如何确定至少一个 2 项集是不是在 3 项集列表中?【英文标题】:How do I find out if at least one 2-itemsets is in a 3-itemsets list?如何确定至少一个 2 项集是否在 3 项集列表中? 【发布时间】:2020-12-06 23:55:22 【问题描述】:

需要确定一个 3 项集列表是否是至少一个 2 项集的超集。每个具有频繁大小为 2 子集的 3 项集都已在您的列表中。该列表不包含重复的集合。

这是我尝试的最后一个代码。如果有任何子集/超集,输出应该是一个小的集合列表。使用此代码,尽管我似乎得到了更大的列表而不是更小的列表。 已编辑...

itemset2 =['????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
 '????', '????', '????', '????', '????', '????', '????', '????', '????', '????']


itemset3 =['????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
 '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
 '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
 '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', 
'????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????',
 '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????', '????']

stuff = itemset2

final = [set(y) for y in frozenset(x) for x in stuff]

final

nostuff=itemset3
ablanklist=[]
ablanklist2=[]

blanklist=set()
for things in nostuff:
    ablanklist.append(list(things))

for stuff in ablanklist:
    for items in final:
        if stuff[0] and stuff[1] in items:
            print(items)

#print(final)

【问题讨论】:

你运行了这段代码吗? 请提供预期的MRE。显示中间结果与预期结果的偏差。我们应该能够将您的代码块粘贴到文件中,运行它并重现您的问题。这也让我们可以在您的上下文中测试任何建议。 “似乎正朝着相反的方向发展”不是问题规范。 【参考方案1】:

条件是any 的简单应用。 给定来自three-itemsettrio 元素

if any(pair < trio for pair in two-itemset):

会告诉你任何对是否是给定 3 元素集的子集。

【讨论】:

【参考方案2】:
def is_subset(big: set, little: set):
    return little - big == set()

set_a = set([1,2,3])
set_b = set([1,2])
is_subset(set_a, set_b)

编辑: 最好使用内置的 set_b.issubset(set_a)

【讨论】:

以上是关于如何确定至少一个 2 项集是不是在 3 项集列表中?的主要内容,如果未能解决你的问题,请参考以下文章

Apriori算法

关联规则——Apriori算法

数据挖掘-关联分析 Apriori算法和FP-growth 算法

数据挖掘关联分析中Apriori算法理解(非算法应用)-ylance

关联分析中寻找频繁项集的FP-growth方法

Apriori算法