0

Apriori アルゴリズムを実装しようとしています... http://codeding.com/articles/apriori-algorithm Python で。

最高レベルのデータ構造は次のようになります。

frequentItemSets[ k-level : itemSetDictionary]
                            |
                            |__
                               itemSetDictionary[ listOfItems : supportValueOfItems]
                                                  |
                                                  |__
                                                     list of integers, sorted lexicographically

任意の数のセット、それらのセットのカーディナリティ (k レベル)、およびそれらのセットごとに計算した値を追跡する必要があります。すべてのセットにリストを使用することは、順序を維持し、反復可能であるため、良い考えだと思いました。上記のように、itemSetDictionary 内のキーとしてリストを使用しようとしましたが、反復可能なデータ構造を Python 辞書内のキーにすることは許可されていないことがわかりました。

この問題を解決する最も簡単な方法を見つけようとしています。キーが反復可能なデータ構造ではなくオブジェクトになるように、いくつかのクラスを作成できることはわかっていますが、それを変更するには多くの時間がかかると感じています。

何か案は?

4

1 に答える 1

2

ディクショナリ キーはハッシュ可能でなければなりませ。それらが反復可能かどうかは重要ではありません。

frozensetこの特定のケースでは、おそらくs をキーとして使用したいと思うでしょう。

于 2014-02-02T22:07:15.307 に答える