Microsoft アソシエーション アルゴリズム
更新 : 2008 年 11 月 17 日
Microsoft アソシエーション アルゴリズムは、Microsoft SQL Server 2005 Analysis Services (SSAS) で提供されているアソシエーション アルゴリズムであり、推奨エンジンで使用できます。推奨エンジンでは、顧客が既に購入した製品または興味を示した製品に基づいて、顧客に製品が推奨されます。また、Microsoft アソシエーション アルゴリズムは、マーケット バスケット分析にも使用できます。マーケット バスケット分析の詳細については、データ マイニング チュートリアルの「レッスン 4 : マーケット バスケット シナリオの作成」を参照してください。
アソシエーション モデルは、個々のケースの識別子とケース内のアイテムの識別子を含んでいるデータセットに基づいて作成されています。ケース内のアイテムのグループは、アイテムセットと呼ばれます。アソシエーション モデルは、一連のアイテムセットと、ケース内でアイテムをグループ化する方法を示すルールで構成されています。アルゴリズムによって識別されるルールは、顧客の買い物かごに既に存在する製品に基づいて、顧客の将来の購入を予測するために使用できます。次の図は、アイテムセットの一連のルールを示しています。
図のように、Microsoft アソシエーション アルゴリズムによって、データセット内で多数のルールが検出される可能性があります。このアルゴリズムでは、アルゴリズムで生成されるアイテムセットおよびルールを示すためにサポートと確率という 2 つのパラメータが使用されます。たとえば、X と Y が、買い物かごにある 2 つの製品を表す場合、サポート パラメータは X と Y というアイテムの組み合わせを含んでいるデータセット内のケースの数になります。サポート パラメータをユーザー定義の MINIMUM_SUPPORT パラメータおよび MAXIMUM_SUPPORT パラメータと組み合わせて使用することによって、アルゴリズムは生成されるアイテムセットの数を制御します。確率パラメータは、信頼性とも呼ばれ、X と Y を含んでいるデータセット内のケースを表します。確率パラメータを MINIMUM_PROBABILITY パラメータと組み合わせて使用することによって、アルゴリズムは生成されるルールの数を制御します。
例
Adventure Works Cycles 社では、Web サイトの機能を再設計しています。再設計の目的は、製品の販売を増やすことです。この会社ではトランザクション データベースで各売上を記録しているので、Microsoft アソシエーション アルゴリズムを使用して、一緒に購入される傾向がある製品のセットを特定できます。その後、顧客の買い物かごに既にある製品に基づいて、顧客が興味を持ちそうな他の製品を予測できます。
アルゴリズムの動作
Microsoft アソシエーション アルゴリズムでは、データセットをスキャンして、ケース内で一緒に表示するアイテムが検索されます。このアルゴリズムは、少なくとも MINIMUM_SUPPORT パラメータで指定された数のケースに表示される関連アイテムをアイテムセットにグループ化します。たとえば、アイテムセットが "Mountain 200=Existing, Sport 100=Existing" であり、サポートが 710 であるとします。その場合、アルゴリズムはアイテムセットからルールを生成します。これらのルールは、アルゴリズムが重要と識別する他の特定のアイテムの存在に基づいて、データベース内のアイテムの存在を予測するために使用されます。たとえば、ルールが "if Touring 1000=existing and Road bottle cage=existing, then Water bottle=existing" であり、確率が 0.812 であるとします。この例では、アルゴリズムは買い物かごに、Touring 1000 と water bottle cage が入っていることを識別し、買い物かごに water bottle も入っている可能性があることを予測します。
アルゴリズムの使用
アソシエーション モデルには、キー列、入力列、および 1 つの予測可能列が必要です。入力列は不連続である必要があります。アソシエーション モデルの入力データは、通常 2 つのテーブルに格納されています。たとえば、1 つのテーブルに顧客情報が格納されており、もう 1 つのテーブルに顧客が購入した製品が格納されている場合があります。入れ子になったテーブルを使用して、このデータをモデルに入力できます。入れ子になったテーブルの詳細については、「入れ子になったテーブル」を参照してください。
次の表のように、Microsoft アソシエーション アルゴリズムでは、特定の入力列のコンテンツの種類、予測可能列のコンテンツの種類、およびモデリング フラグがサポートされています。
入力列のコンテンツの種類 |
Cyclical、Discrete、Discretized、Key、Table、Ordered |
予測可能列のコンテンツの種類 |
Cyclical、Discrete、Discretized、Table、Ordered |
モデリング フラグ |
MODEL_EXISTENCE_ONLY と NOT NULL |
すべての Microsoft アルゴリズムでは、共通の関数セットがサポートされています。ただし、Microsoft アソシエーション アルゴリズムでは、次の表のような追加の関数がサポートされています。
すべての Microsoft アルゴリズムに共通の関数の一覧については、「データ マイニング アルゴリズム」を参照してください。これらの関数の使用方法については、「データ マイニング拡張機能 (DMX) 関数リファレンス」を参照してください。
Microsoft アソシエーション アルゴリズムでは、Predictive Model Markup Language (PMML) を使用したマイニング モデルの作成はサポートされていません。
Microsoft アソシエーション アルゴリズムでは、結果として得られるマイニング モデルのパフォーマンスおよび精度に影響を与えるいくつかのパラメータがサポートされています。次の表では、各パラメータについて説明します。
パラメータ
説明
MINIMUM_SUPPORT
アルゴリズムによってルールが生成される前に、アイテムセットを含む必要があるケースの最小数を指定します。この値を 1 より小さい値に設定すると、ケースの最小数がケースの総数の割合として指定されます。この値を 1 より大きい整数に設定すると、ケースの最小数がアイテムセットを含む必要のあるケースの絶対数として指定されます。メモリに制限がある場合は、アルゴリズムによってこのパラメータの値が増加されることがあります。
既定値は 0.03 です。
MAXIMUM_SUPPORT
アイテムセットがサポートを持つことができるケースの最大数を指定します。この値が 1 より小さい場合、値はケースの総数の割合を表します。1 より大きい値は、アイテムセットを含むことができるケースの絶対数を表します。
既定値は 1 です。
MINIMUM_ITEMSET_SIZE
アイテムセットで使用できるアイテムの最小数を指定します。
既定値は 1 です。
MAXIMUM_ITEMSET_SIZE
アイテムセットで使用できるアイテムの最大数を指定します。この値を 0 に設定すると、アイテムセットのサイズに制限がなくなります。
既定値は 3 です。
MAXIMUM_ITEMSET_COUNT
生成されるアイテムセットの最大数を指定します。この数を指定しなかった場合、既定値が使用されます。既定値は 200000 です。
メモ :
アイテムセットはサポートでのみ順位付けられます。同じサポートを持つアイテムセットの場合は、任意の順序になります。
MINIMUM_PROBABILITY
ルールが true である最小確率を指定します。たとえば、この値を 0.5 に設定すると、確率が 50% より低いルールは生成されなくなります。
既定値は 0.4 です。
OPTIMIZED_PREDICTION_COUNT
予測のためにキャッシュまたは最適化されるアイテムの数を定義します。
既定値は 0 です。既定値が使用されると、アルゴリズムはクエリで要求された数の予測を作成します。
変更履歴
リリース | 履歴 |
---|---|
2008 年 11 月 17 日 |
|
2007 年 9 月 15 日 |
|
参照
概念
データ マイニング アルゴリズム
データ マイニング ウィザード
データ マイニング ツールの使用
Microsoft アソシエーション ルール ビューアを使用したマイニング モデルの表示