データ マイニング アプリオリ アルゴリズムを作成しました。小さなテスト データではうまく機能しますが、より大きなデータ セットで実行するには問題があります。
頻繁に一緒に購入されたアイテムのルールを生成しようとしています。
私の小さなテスト データは、5 つのトランザクションと 10 の製品です。
私の大きなテスト データは、1,100 万のトランザクションと約 2,700 の製品です。
問題: Min-support と Filter non-frequency items。頻度が 60% 以上の項目に関心があるとします。
frequency = 0.60;
60% の頻度アルゴリズムで小さなデータ セットを計算するMin-support
と、購入回数が 3 回未満のすべてのアイテムが削除されます。Min-support = numberOfTransactions * frequency;
しかし、大規模なデータセットに対して同じことをしようとすると、アルゴリズムは最初の反復後にほぼすべてのアイテムセットをフィルター処理し、そのような平面を満たすことができるアイテムはわずか数個です。
そのため、その平面をどんどん低くし始め、アルゴリズムを何度も実行しました。しかし、望ましい結果が得られるのは 5% でさえありません。最初の反復で少なくとも 50% のアイテムを取得するには、頻度パーセントを 0.0005 まで下げる必要がありました。
人為的に生成されているため、データの問題である可能性があるという現在の状況についてどう思いますか? (Microsoft Adventure Works バージョン) それとも、私のコードまたは最小サポートの計算の問題ですか?
多分あなたはこれを行うための他の解決策またはより良い方法を提供できますか?
ありがとう!