レッスン 3: Market Basket マイニング構造の処理
このレッスンでは、AdventureWorksDW2012 サンプル データベースの INSERT INTO (DMX) ステートメントと vAssocSeqLineItems と vAssocSeqOrders を使用して、「レッスン 1: マーケット バスケット マイニング構造の作成」および「レッスン 2: 市場バスケット マイニング構造へのマイニング モデルの追加」で作成したマイニング構造とマイニング モデルを処理します。
マイニング構造を処理すると、Analysis Services はソース データを読み取り、マイニング モデルをサポートする構造を構築します。 マイニング モデルを処理すると、マイニング構造によって定義されたデータは、選択したデータ マイニング アルゴリズムを介して渡されます。 このアルゴリズムでは傾向とパターンが検索され、結果の情報がマイニング モデルに保存されます。 したがって、マイニング モデルには、実際のソース データではなく、アルゴリズムで検出された情報が含まれます。 マイニング モデルの処理の詳細については、「 処理の要件と考慮事項 (データ マイニング)」を参照してください。
マイニング構造の再処理は、構造列またはソース データを変更した場合にのみ必要です。 処理済みのマイニング構造にマイニング モデルを追加する場合は、INSERT INTO MINING MODEL
ステートメントを使用して既存のデータに対して新しいマイニング モデルをトレーニングできます。
Market Basket マイニング構造には入れ子になったテーブルが含まれるため、入れ子になったテーブル構造でトレーニングするようにマイニング列を定義する必要があります。また、SHAPE
コマンドを使用して、ソース テーブルからトレーニング データを抽出するクエリを定義する必要があります。
INSERT INTO ステートメント
Market Basket マイニング構造とそれに関連するマイニング モデルをトレーニングするには、 INSERT INTO (DMX) ステートメントを使用します。 ステートメントのコードは次の部分に分けることができます。
マイニング構造の指定
マイニング構造の列の一覧
SHAPE
によるトレーニング データの定義
INSERT INTO
ステートメントの汎用例を次に示します。
INSERT INTO MINING STRUCTURE [<mining structure name>]
(
<mining structure columns>
[<nested table>]
( SKIP, <skipped column> )
)
SHAPE {
OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
(
{OPENQUERY([<datasource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]
コードの最初の行では、トレーニングするマイニング構造を指定します。
INSERT INTO MINING STRUCTURE [<mining structure name>]
コードの次の数行では、マイニング構造で定義される列を指定します。 ここではマイニング構造の各列を指定する必要があります。各列はソース クエリ データ内の列にマップされている必要があります。 SKIP
を使用すると、ソース データに存在するがマイニング構造に存在しない列を無視できます。 の使用方法 SKIP
の詳細については、「 INSERT INTO (DMX)」を参照してください。
(
<mining structure columns>
[<nested table>]
( SKIP, <skipped column> )
)
コードの最後の行では、マイニング構造のトレーニングに使用されるデータを定義します。 ソース データは 2 つのテーブルに格納されているため、SHAPE
を使用してテーブルを関連付けます。
SHAPE {
OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
(
{OPENQUERY([<datasource>],''<nested SELECT statement>'')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]
このレッスンでは、OPENQUERY
を使用してソース データを定義します。 ソース データに対するクエリを定義するその他の方法については、「ソース データ クエリ>」を参照してください<。
このレッスンの作業
このレッスンでは、次のタスクを実行します。
- マーケット バスケットマイニング構造を処理する
Market Basket マイニング構造の処理
INSERT INTO を使用してマイニング構造を処理するには
オブジェクト エクスプローラーで Analysis Services のインスタンスを右クリックし、[新しいクエリ] をポイントして、[DMX] をクリックします。
クエリ エディターが開き、新しい空のクエリが表示されます。
上の INSERT INTO ステートメントの汎用例を空のクエリにコピーします。
次の部分を探します。
[<mining structure>]
次の内容に置き換えます。
Market Basket
次の部分を探します。
<mining structure columns> [<nested table>] ( SKIP, <skipped column> )
次の内容に置き換えます。
[OrderNumber], [Products] (SKIP, [Model])
このステートメントでは、
Products
は SHAPE ステートメントで定義される Products テーブルを参照します。SKIP
は、ソース データにキーとして存在する Model 列を無視するために使用します。マイニング構造に対しては使用できません。次の部分を探します。
SHAPE { OPENQUERY([<datasource>],'<SELECT statement>') } APPEND ( {OPENQUERY([<datasource>],'<nested SELECT statement>') } RELATE [<case key>] TO [<foreign key>] ) AS [<nested table>]
次の内容に置き換えます。
SHAPE { OPENQUERY([Adventure Works DW],'SELECT OrderNumber FROM vAssocSeqOrders ORDER BY OrderNumber')} APPEND ( {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model') } RELATE OrderNumber to OrderNumber ) AS [Products]
ソース クエリは、 AdventureWorksDW2012 サンプル プロジェクトで定義されている AdventureWorksDW2012 データ ソースを参照します。 ソース クエリはこのデータ ソースを使用して、vAssocSeqLineItems ビューと vAssocSeqOrders ビューにアクセスします。 これら 2 つのビューには、マイニング モデルのトレーニングに使用されるソース データが含まれます。 このプロジェクトまたはこれらのビューを作成していない場合は、「 基本的なデータ マイニング チュートリアル」を参照してください。
SHAPE
コマンド内では、OPENQUERY
を使用して 2 つのクエリを定義します。 最初のクエリでは親テーブルを定義し、2 つ目のクエリでは入れ子になったテーブルを定義します。 2 つのテーブルは、両方のテーブルに存在する OrderNumber 列を使用して関連付けられます。最終的なステートメントは次のようになります。
INSERT INTO MINING STRUCTURE [Market Basket] ( [OrderNumber],[Products] (SKIP, [Model]) ) SHAPE { OPENQUERY([Adventure Works DW],'SELECT OrderNumber FROM vAssocSeqOrders ORDER BY OrderNumber')} APPEND ( {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model') } RELATE OrderNumber to OrderNumber ) AS [Products]
[ ファイル ] メニューの [ DMXQuery1.dmx As の保存] をクリックします。
[ 名前を付けて保存 ] ダイアログ ボックスで、適切なフォルダーを参照し、ファイルに という名前を付けます
Process Market Basket.dmx
。ツール バーの [ 実行 ] ボタンをクリックします。
クエリの実行終了後、見つかったパターンとアイテムセットを表示したり、関連付けを表示したり、アイテムセット、確率、または重要度でフィルタリングしたりできます。 この情報を表示するには、SQL Server Management Studioでデータ モデルの名前を右クリックし、[参照] をクリックします。
次のレッスンでは、Market Basket 構造に追加したマイニング モデルに基づいて、いくつかの予測を作成します。