Big-data-analytics-association-rules
ビッグデータ分析-アソシエーションルール
_I = i〜1〜、i〜2〜、…、i〜n〜_を、アイテムと呼ばれるn個のバイナリ属性のセットとします。 _D = t〜1〜、t〜2〜、…、t〜m〜_をデータベースと呼ばれるトランザクションのセットとします。 Dの各トランザクションには一意のトランザクションIDがあり、Iのアイテムのサブセットが含まれています。 ルールは、X⇒Yの形式の含意として定義されます。ここで、X、Y⊆IおよびX∩Y =∅です。
アイテムのセット(短いアイテムセットの場合)XおよびYは、ルールの前件(左側またはLHS)および後件(右側またはRHS)と呼ばれます。
概念を説明するために、スーパーマーケットドメインの小さな例を使用します。 アイテムのセットはI = \ {ミルク、パン、バター、ビール}で、アイテムを含む小さなデータベースを次の表に示します。
Transaction ID | Items |
---|---|
1 | milk, bread |
2 | bread, butter |
3 | beer |
4 | milk, bread, butter |
5 | bread, butter |
スーパーマーケットのルールの例としては、\ {ミルク、パン}⇒\ {バター}が考えられます。これは、ミルクとパンを購入すると、顧客もバターを購入することを意味します。 考えられるすべてのルールのセットから興味深いルールを選択するには、重要性と関心のさまざまな尺度の制約を使用できます。 最もよく知られている制約は、サポートと信頼の最小しきい値です。
アイテムセットXのサポートsupp(X)は、アイテムセットを含むデータセット内のトランザクションの割合として定義されます。 表1のサンプルデータベースでは、アイテムセット\ {milk、bread}は、すべてのトランザクションの40%(5トランザクション中2トランザクション)で発生するため、2/5 = 0.4をサポートしています。 頻繁なアイテムセットを見つけることは、教師なし学習問題の単純化とみなすことができます。
ルールの信頼度は、conf(X⇒Y)= supp(X∪Y)/supp(X)で定義されます。 たとえば、表1のデータベースでは、ルール\ {milk、bread}⇒\ {butter}の信頼度は0.2/0.4 = 0.5です。これは、ミルクとパンを含むトランザクションの50%でルールが正しいことを意味します。 信頼度は、確率P(Y | X)の推定値として解釈できます。確率P(Y | X)は、これらのトランザクションにもLHSが含まれているという条件下で、トランザクションのルールのRHSを見つける確率です。
aprioriアルゴリズムを使用してルールを生成するには、トランザクションマトリックスを作成する必要があります。 次のコードは、Rでこれを行う方法を示しています。