最大&頻繁に閉鎖—回答が含まれています


10

1 A B C E 2 A C D E 3 B C E 4 A C D E 5 C D E 6 A D E

My  dataset:
1:A,B,C,E
2:A,C,D,E
3:     B,C,E
4:A,C,D,E
5:    C,D,E
6:    A,D,E

最大の頻度の高いアイテムセット閉じた頻度の高いアイテムセットを確認したい。

  • 頻出アイテム集合ある最大のそれはどんな頻繁スーパーセットを持っていない場合。XF
  • 同じ頻度のスーパーセットがない場合、頻繁なアイテムセットX frequency Fは閉じます

そこで、各アイテムセットの出現回数をカウントしました。

{A} = 4 ;  {B} = 2  ; {C} = 5  ; {D} = 4  ; {E} = 6

{A,B} = 1; {A,C} = 3; {A,D} = 3; {A,E} = 4; {B,C} = 2; 
{B,D} = 0; {B,E} = 2; {C,D} = 3; {C,E} = 5; {D,E} = 3

{A,B,C} = 1; {A,B,D} = 0; {A,B,E} = 1; {A,C,D} = 2; {A,C,E} = 3; 
{A,D,E} = 3; {B,C,D} = 0; {B,C,E} = 2; {C,D,E} = 3

{A,B,C,D} = 0; {A,B,C,E} = 1; {B,C,D,E} = 0

Min_Supportを設定//非常に重要。思い出させてくれたsteffenに感謝します。50

ない最大 =?{A,B,C,E}

んが閉じ =?{A,B,C,D} and {B,C,D,E}

回答:


5

私はこのソースに少し拡張された定義を見つけました(良い説明が含まれています)。以下は、より信頼できる(公開された)ソースです。CHARM:Mohammed J. ZakiとChing-jui Hsiaoによるクローズドアイテムセットマイニングの効率的なアルゴリズム

この情報源によると:

  • 直接のスーパーセットのいずれもアイテムセットと同じサポートを持たない場合、アイテムセットは閉じられます
  • 直接のスーパーセットがどれも頻繁でない場合、アイテムセットは最大の頻度です


いくつかの備考:

  • 頻度の高いアイテムセットを定義するmin_support(サポート=対象のサブセットを含むアイテムセットの数をすべてのアイテムセットの数で割っ)を設定する必要があります。サポート> = min_supportの場合、アイテムセットは頻繁です。
  • アルゴリズムに関しては、min_supportが設定されたアイテムセットのみが考慮され、最大の頻度の高い閉じたアイテムセットを見つけようとします。
  • クローズの定義における重要な側面は、より多くのサポートを持つ即時スーパーセットが存在するかどうかは問題ではなく、まったく同じサポートを持つ即時スーパーセットのみが重要であることです。
  • 最大頻度=>クローズ=>頻度が高いが、その逆はない。

OPの例への応用

注意:

  • サポート数を確認しませんでした
  • min_support = 0.5としましょう。これは、min_support_count> = 3の場合に満たされます。
{A} = 4; {A、E}のため閉鎖されていません
{B} = 2; 頻繁ではない=>無視する
{C} = 5; {C、E}のため閉鎖されていません
{D} = 4; {D、E}のために閉じていませんが、{A、D}のために最大ではありません
{E} = 6; 閉じているが、たとえば{D、E}のために最大ではない

{A、B} = 1; 頻繁ではない=>無視する
{A、C} = 3; {A、C、E}のため閉鎖されていません
{A、D} = 3; {A、D、E}のため閉鎖されていません
{A、E} = 4; 閉じているが、{A、D、E}のために最大ではない
{B、C} = 2; 頻繁ではない=>無視する
{B、D} = 0; 頻繁ではない=>無視する
{B、E} = 2; 頻繁ではない=>無視する
{C、D} = 3; {C、D、E}のため閉鎖されていません
{C、E} = 5; 閉じているが、{C、D、E}のために最大ではない
{D、E} = 4; 閉じているが、{A、D、E}のために最大ではない

{A、B、C} = 1; 頻繁ではない=>無視する
{A、B、D} = 0; 頻繁ではない=>無視する
{A、B、E} = 1; 頻繁ではない=>無視する
{A、C、D} = 2; 頻繁ではない=>無視する
{A、C、E} = 3; 最大頻度
{A、D、E} = 3; 最大頻度
{B、C、D} = 0; 頻繁ではない=>無視する
{B、C、E} = 2; 頻繁ではない=>無視する
{C、D、E} = 3; 最大頻度

{A、B、C、D} = 0; 頻繁ではない=>無視する
{A、B、C、E} = 1; 頻繁ではない=>無視する
{B、C、D、E} = 0; 頻繁ではない=>無視する

ソースリンクが壊れています。通知しています。はい、min_supportは非常に重要です。私は.50を使用しています
Mike John

1
すみません、修正しました。
steffen 2013年

1
min_support = 0.5 <=> min_support_count = 3を変更し、それに応じてアプリケーションを例に変更しました。
steffen 2013年

APRIORIを使用すると、アイテムセットの数え上げと構築の多くを節約できます...
QUITあり--Anony-Mousse 2013年

@ Anony-Mousse私はAPRIORIを知っています... OP(IMHO)の混乱の原因となったため、アイテムセットを手動でステップオーバーして、クローズおよび最大頻度のアイテムセットの概念をできるだけ詳しく説明しました。
steffen 2013年

1

APRIORIアルゴリズムについて調べてください。それは巧妙な剪定によって不必要なアイテムセットを避けます。

{A} = 4 ;  {B} = 2  ; {C} = 5  ; {D} = 4  ; {E} = 6

Bは頻繁ではない、削除。

2つのアイテムセットを作成して数える(まだ出ていないことを除いて、まだ魔法はありませんB

{A,C} = 3; {A,D} = 3; {A,E} = 4; 
{C,D} = 3; {C,E} = 5; {D,E} = 3

これらはすべて頻繁に発生します(以前のすべてBが頻繁に発生することはありません!)。

ここで、接頭辞ルールを使用します。同じn-1アイテムで始まるアイテムセットのみを組み合わせます。サブセットが頻繁でない場合は、すべて削除します。残りのアイテムセットを数えます。

{A,C,D} = 2; {A,C,E} = 3; {A,D,E} = 3; 
{C,D,E} = 3

{A,C,D}頻繁ではないことに注意してください。共有プレフィックスがないため、より頻繁に使用されるアイテムセットは存在できません

作業量が大幅に減ったことに注目してください。

最大/クローズされたアイテムセットについては、サブセット/スーパーセットを確認してください。

なお、例えば{E}=6、と{A,E}=4{E}サブセットである、しかし、すなわち、それは閉じられたが、最大ではない、高いサポートしています。{A}もサポートされていません。{A,E}つまり、冗長です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.