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