1

Apriori アルゴリズムを使用して、一連のタプルのようなデータセットから関連付けルールをフェッチすることを読みました。最も頻繁に使用される 1 アイテム セット、2 アイテム セットなどを見つけるのに役立ちます。私の問題は少し異なります。次のように、それぞれがさまざまなサイズのタプルのセットであるデータセットがあります。

(1, 234, 56, 32) (25, 4575, 575, 464, 234, 32) . . . 異なるサイズのタプル

エントリのドメインは巨大です。つまり、各タプルのバイナリ ベクトルを取得できず、タプルに項目「x」が存在するかどうかがわかります。したがって、ここでは Apriori アルゴリズムが適しているとは思えません。

私の目標は、次のような質問に答えることです。

  1. ほとんどの場合 234 で発生する 5 つの数字のランク付けされたリストを教えてください
  2. 最も頻繁に同時に発生する、サイズ「k」の上位 5 つのサブセットを教えてください

要件 : 出力における数値の正確な表現 (概算ではない)、数値のドメインは 10 億から 10 億と考えることができます。

ここに標準アルゴリズムが適合しない場合は、単純なカウント方法を使用する予定です。しかし、私を助けることができるアルゴリズムを知っているなら、私に知らせてください

4

2 に答える 2

2

Apriori でデータ マイニングを行ってきました。問題は、これらのアイテムがすべて揃っているかどうかです。実際にいくつの個別アイテム ID を持っていますか? アイテム ID が大きなドメインにまたがっている可能性があることは理解していますが、すべてが存在しているわけではありません。その場合、まばらなマーケット バスケットの表現が適切である可能性があり、Apriori を使用できます。最小サポートと信頼度を高い値に設定すると、優先度の低いリンクも多数排除されます。私は、データ マイニングの要件にOrangeライブラリを使用しています。

于 2012-10-09T16:05:18.120 に答える
1

Apriori の場合、タプルやベクトルは必要ありません。非常に異なるデータ型で実装できます。1 13 712 1928 123945 191823476一般的なデータ型はソートされたアイテム リストで、 6 つの整数として格納されているように見えます。これは基本的にスパースバイナリ ベクトルと同等であり、多くの場合、メモリ効率が非常に高くなります。さらに、APRIORI は実際には、メイン メモリに対して大きすぎるデータ セットで実行するように設計されています。

アプリオリのスケーラビリティは、トランザクション数とアイテム数の混合です。それらがどのようになっているかによって、異なるデータ構造とアルゴリズムを好むかもしれません。

于 2012-10-09T19:50:25.233 に答える