Generalized Sequential Patterns
概要
この演算子は、GSP(Generalized Sequential Pattern)アルゴリズムを使用して、一連のトランザクションの連続パターンを検索します。 GSPは、シーケンスマイニングに使用される一般的なアルゴリズムです。
詳細
この演算子は、一連のトランザクションで連続したパターンを検索します。 ExampleSetには、時間用の1つの属性と顧客用の1つの属性が含まれている必要があります。さらに、各トランザクションは単一の例としてエンコードする必要があります。 時間属性と顧客 属性は 、それぞれ時間属性と顧客IDパラメーターで指定されます。この属性のペアは、各トランザクションの時間順に並べられたすべてのトランザクションを含む顧客ごとに1つのシーケンスを生成するために使用されます。アルゴリズムは、次の形式でシーケンシャルパターンを検索します。顧客が1つのトランザクションでアイテム「a」とアイテム「c」を購入した場合、次のトランザクションでアイテム「b」を購入しました。このパターンは、<a、c>、<b>の形式で表されます。最小サポートは、そのようなパターンを頻繁と見なすために、そのようなパターンをサポートする必要がある顧客の数を示します。まれなパターンは削除されます。そのパターンを含むシーケンスの一部がある場合、顧客はそのようなパターンをサポートします。上記のパターンは、たとえば、<s、g>、<a、s、c>、<b>、<f、h>のトランザクションでサポートされます。最小サポート条件は、 min supportパラメーターを介して指定されます。
最小ギャップ 、 最大ギャップ 、およびウィンドウサイズのパラメーターは、トランザクションの処理方法を決定します。たとえば、上記の顧客がアイテム「c」を購入するのを忘れて、5分後に購入しなければならなかった場合、彼のトランザクションは次のようになります:<s、g> then <a、s> then <c> then < b>、次に<f、h>。これは、パターン<a、c>その後<b>をサポートしません。この問題を回避するために、ウィンドウサイズは、後続のトランザクションが同じトランザクションとして処理される期間を決定します。ウィンドウサイズが5分を超える場合、<c>は2番目のトランザクションの一部として扱われるため、この顧客は上記のパターンをサポートします。このパターンを含むトランザクションが時間的に離れすぎている場合、 max gapパラメーターにより、顧客シーケンスはパターンをサポートしません。 最小ギャップパラメータは、距離が近すぎる場合も同じです。
この手法は、次のような既存のマイニング方法のいくつかの重大な欠点を克服します。
- 時間の制約がない:この欠点は、最小ギャップと最大ギャップのパラメーターによって克服されます。
- トランザクションの厳密な定義:この欠点は、スライド式の時間枠によって克服されます。
指定されたExampleSetのすべての属性(顧客属性と時間属性を除く)は二項、つまり2つの可能な値のみを持つ公称属性でなければなりません。 ExampleSetがこの条件を満たさない場合、適切な前処理演算子を使用して、必要な形式に変換できます。離散化演算子は、数値属性の値を名義属性に変更するために使用できます。次に、ノミナルからバイナリへの演算子を使用して、ノミナル属性をバイノミナル属性に変換できます。
ExampleSetの正のエントリ、つまり、ExampleSetで正として定義されている名目値のシーケンシャルパターンがマイニングされることに注意してください。データで正のエントリが正しく指定されていない場合は、 正の値パラメーターを使用してそれらを設定できます。これは、すべての属性にこの値が含まれている場合にのみ機能します。
入力
- サンプルセット (IOObject)この入力ポートには、ExampleSetが必要です。 ExampleSetのすべての属性(顧客属性と時間属性を除く)が二項であることを確認してください。
出力
- サンプルセット(IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。
- パターンGSPアルゴリズムは指定されたExampleSetに適用され、シーケンシャルパターンの結果セットはこのポートを介して配信されます。
パラメーター
- customer_idこのパラメーターは、顧客の識別に使用される属性の名前を指定します。 範囲:文字列
- time_attributeこのパラメーターは、トランザクションの時間を指定する数値属性の名前を指定します。 範囲:文字列
- min_support顧客のサポート率がmin未満の場合にサポートされるプルーニングパターン。 範囲:実数
- window_size連続するトランザクション内の時間枠は、単一のトランザクションとして追加で処理されます。 範囲:実数
- max_gap max gapパラメーターを使用すると、このパターンを含むトランザクションが時間的に離れすぎている場合、顧客シーケンスはパターンをサポートしません。 範囲:実数
- min_gapこのパターンを含むトランザクションが時間的に近すぎる場合、 min gapパラメータにより、顧客シーケンスはパターンをサポートしません。 範囲:実数
- positive_valueこのパラメーターは、二項属性のどの値を正として扱うかを決定します。例でこの値を持つ属性は、そのトランザクションの一部と見なされます。 範囲:文字列
チュートリアルプロセス
GSPオペレーターの概要
GSPオペレーターが期待するExampleSetは、次の基準を満たす必要があります。顧客を識別するために使用できる属性が必要です。トランザクションの時間を表す数値属性が必要です。他のすべての属性は、トランザクションのアイテムを表すために使用されます。これらの属性は二項でなければなりません。
このプロセス例は、サブプロセス演算子で始まります。上記のすべての条件を満たすExampleSetを生成するために、一連の演算子がサブプロセスに適用されます。 Exampleprocessを見ることができるように、サブプロセス演算子の後にブレークポイントが挿入されます。 Customer属性は顧客を表し、このExampleSetには5つあります。 Time属性は、トランザクションの時間を表します。簡単にするために、時間属性は20日間で構成されています。実際のシナリオでは、Unix時間を使用する必要があります。 ExampleSetには、顧客がトランザクションで購入できるアイテムを表す20の二項属性があります。このExampleSetでは、例のアイテムの値「true」は、このアイテムがこのトランザクションで購入されたことを意味します(現在の例で表されます)。 GSP演算子は、このExampleSetに適用されます。顧客IDおよび時間属性パラメーターは、それぞれ「顧客」および「時間」に設定されます。正の値のパラメーターは「true」に設定されます。 minサポートパラメータは0.9に設定されています。結果の一連のパターンは、結果ワークスペースで見ることができます。