1

データ マイニング アプリオリ アルゴリズムを作成しました。小さなテスト データではうまく機能しますが、より大きなデータ セットで実行するには問題があります。

頻繁に一緒に購入されたアイテムのルールを生成しようとしています。

私の小さなテスト データは、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 バージョン) それとも、私のコードまたは最小サポートの計算の問題ですか?

多分あなたはこれを行うための他の解決策またはより良い方法を提供できますか?

ありがとう!

4

2 に答える 2

0

多分それはあなたのデータがどのようなものかです。

多数の異なるアイテムがあり、トランザクションごとのアイテムが少ない場合、アイテムが同時に発生する可能性は低くなります。

結果を確認しましたか?剪定が間違っていますか? それともアルゴリズムは正しく、パラメーターは正しくありませんか?

Apriori が剪定したものの、剪定するべきではなかった項目セットの名前を実際に挙げることができますか?

問題は、はい、パラメーターの選択が難しいことです。いいえ、アプリオリは適応しきい値を使用できません。単調性の要件を満たさないためです。すべてのアイテムセット サイズに同じしきい値を使用する必要があります。

于 2013-02-13T20:24:13.750 に答える