我正在尝试在 Python中实现 Apriori 算法... http://codeding.com/articles/apriori-algorithm 。
最高级别的数据结构是这样的:
frequentItemSets[ k-level : itemSetDictionary]
|
|__
itemSetDictionary[ listOfItems : supportValueOfItems]
|
|__
list of integers, sorted lexicographically
我需要跟踪任意数量的集合、这些集合的基数(k 级)以及我为每个集合计算的值。我认为对所有集合使用列表将是一个好主意,因为它们保持顺序并且是可迭代的。如上所示,我尝试使用列表作为 itemSetDictionary 中的键,但现在我看到可迭代数据结构不允许作为 Python 字典中的键。
我正在尝试找出解决此问题的最快方法。我知道我可以创建一些类,以便键现在是对象,而不是可迭代的数据结构,但我觉得这需要很长时间才能改变。
有任何想法吗?