系列パターンマイニングとは、頻出する部分系列パターンを高速に抽出する方法の総称です。 やみくもに系列パターンマイニングを行うと不要なパターンも出力されます。 本プログラムでは連続系列と不連続系列との出力を制御する (modified prefixspan)ことにより、n 項関係抽出に適したマイニングを行うことができます。
Windows で利用可能な exe ファイルがパッケージの中に含まれています。
% prefixspan -m 4 < data2
以下のような系列データがあるとする:
a b c a b c a b d a b c a c d a b c b c d a b c a b c d a b c
頻度 4 以上の部分系列を枚挙するには以下のようにする:
実行例: % prefixspan -m 4 < data2 a/5 b/4 a/5 // a/4 b/4 c/4 a/5 // a/4 // c/4 a/5 // b/4 c/4 a/5 // c/5 b/5 c/4 b/5 // a/4 b/4 c/4 b/5 // a/4 // c/4 b/5 // b/4 c/4 b/5 // c/4 c/5 // b/4 c/4 c/5 // c/4 d/4 a/4 b/4 c/4 d/4 a/4 // c/4 d/4 // b/4 c/4 d/4 // c/4
結果の中で "//"は、前後の要素の間に 1 つ以上の他の要素が入っていることを表わす。この他の要素が入っている部分をギャップと呼びます。 -s オプションを用いることにより出力する系列中の最小ギャップ数を、 -S オプションを用いることにより出力する系列中の最大ギャップ数を変更することができます。 次の例では、ギャップ数がちょうど1である系列を出力します。 これは頻出する2項関係を適しています。:
実行例: % prefixspan -m 4 -s 1 -S 1< data2 a/5 // a/4 b/4 c/4 a/5 // b/4 c/4 a/5 // c/5 b/5 // a/4 b/4 c/4 b/5 // b/4 c/4 b/5 // c/4 c/5 // b/4 c/4 c/5 // c/4 d/4 a/4 // c/4 d/4 // b/4 c/4 d/4 // c/4
ギャップの中の要素が多い場合、つまりギャップの前後の2要素があまりにも離れている場合、 あまり関連性のない系列であることがあります。ギャプ中の要素を制御するために -g オプションを用いることにより最小ギャップ長を、 -G オプションを用いることにより最大ギャップ長を変更することができます。 次の例では、ギャップ長がちょうど1である系列を出力します:
実行例: % prefixspan -m 4 -g 1 -G 1< data2 a/5 b/4 b/5 c/4 c/5 d/4 a/4 b/4 c/4 d/4 a/4 // c/4 d/4 // b/4 c/4