レッスン 1: Market Basket マイニング構造の作成
新規 : 2005 年 12 月 5 日
このレッスンでは、同時に購入される可能性が高い Adventure Works Cycles の製品を予測するためのマイニング構造を作成します。マイニング構造と、データ マイニングにおけるマイニング構造の役割については、「マイニング構造 (Analysis Services)」を参照してください。
このレッスンで作成するアソシエーション マイニング構造には、Microsoft アソシエーション アルゴリズムに基づくマイニング モデルを追加できます。後のレッスンでは、マイニング モデルを使用して、同時に購入される可能性が高い製品の種類を予測します。これはマーケット バスケット分析と呼ばれます。たとえば、この予測で、マウンテン バイクとタイヤ、およびヘルメットが同時に購入される傾向にあることがわかります。
このレッスンでは、入れ子になったテーブルを使用してマイニング構造を定義します。入れ子になったテーブルを使用するのは、マイニング構造で定義するデータ ドメインが、2 つの異なるソース テーブル内に含まれているためです。入れ子になったテーブルの詳細については、「入れ子になったテーブル」を参照してください。
CREATE MINING STRUCTURE ステートメント
入れ子になったテーブルが含まれるマイニング構造を作成するには、CREATE MINING STRUCTURE (DMX) ステートメントを使用します。ステートメントのコードは次の部分に分けられます。
- 構造の名前指定
- キー列の定義
- マイニング列の定義
- 入れ子になったテーブル列の定義
CREATE MINING STRUCTURE ステートメントの汎用例を次に示します。
CREATE MINING STRUCTURE [<Mining Structure Name>]
(
<key column>,
<mining structure columns>,
<table columns>
( <nested key column>,
<nested mining structure columns> )
)
コードの 1 行目では、構造の名前を定義します。
CREATE MINING STRUCTURE [Mining Structure Name]
DMX でオブジェクトに名前を付ける方法については、「識別子 (DMX)」を参照してください。
コードの次の行では、マイニング構造のキー列を定義します。キー列は、ソース データ内のエンティティを一意に識別します。
<key column>
その次の行では、マイニング構造に関連付けられたマイニング モデルで使用される、マイニング列を定義します。
<mining structure columns>
コードの最終行では、入れ子になったテーブル列を定義します。
<table columns>
( <nested key column>,
<nested mining structure columns> )
定義できるマイニング構造列の種類については、「マイニング構造列」を参照してください。
このレッスンの作業
このレッスンでは、次の作業を行います。
- 新しい空のクエリの作成
- マイニング構造を作成するためのクエリの変更
- クエリの実行
クエリの作成
最初の手順では、SQL Server Management Studio で、Analysis Services のインスタンスに接続して新しい DMX クエリを作成します。
SQL Server Management Studio で新しい DMX クエリを作成するには
SQL Server Management Studio を開きます。
[サーバーへの接続] ダイアログ ボックスで、[サーバーの種類] の [Analysis Services] を選択します。[サーバー名] に、「LocalHost」と入力するか、このレッスンで接続する Analysis Services のインスタンスの名前を入力して、[接続] をクリックします。
オブジェクト エクスプローラで、Analysis Services インスタンスを右クリックし、[新しいクエリ] をポイントして [DMX] をクリックします。
クエリ エディタが開き、新しい空のクエリが表示されます。
クエリの変更
次の手順では、上の CREATE MINING STRUCTURE ステートメントを変更し、Market Basket マイニング構造を作成します。
CREATE MINING STRUCTURE ステートメントをカスタマイズするには
クエリ エディタで、CREATE MINING STRUCTURE ステートメントの汎用例を空のクエリにコピーします。
次の部分を探します。
[mining structure name]
これを次の文字列に置き換えます。
[Market Basket]
次の部分を探します。
<key column>
これを次の文字列に置き換えます。
OrderNumber TEXT KEY
次の部分を探します。
<table columns> ( <nested key column>, <nested mining structure columns> )
これを次の文字列に置き換えます。
[Products] TABLE ( [Model] TEXT KEY )
TEXT KEY 言語は、Model 列が入れ子になったテーブルのキー列であることを示します。
最終的なマイニング構造のステートメントは次のようになります。
CREATE MINING STRUCTURE [Market Basket] ( OrderNumber TEXT KEY, [Products] TABLE ( [Model] TEXT KEY ) )
[ファイル] メニューで、[名前を付けて DMXQuery1.dmx を保存] をクリックします。
[名前を付けて保存] ダイアログ ボックスで、適切なフォルダを参照して指定し、ファイルに「Market Basket Structure.dmx」という名前を付けます。
クエリの実行
最後の手順では、クエリを実行します。クエリを作成して保存したら、サーバー上にマイニング構造を作成するためクエリを実行 (ステートメントを実行) します。クエリ エディタでのクエリの実行の詳細については、「SQL Server Management Studio の Transact SQL クエリ」を参照してください。
クエリを実行するには
クエリ エディタのツール バーで、[実行] をクリックします。
ステートメントの実行完了後、クエリ エディタ下部の [メッセージ] タブにクエリの状態が表示されます。この場合次のメッセージが表示されます。
クエリを実行しています... 実行完了
これで、Market Basket という名前の新しい構造が、サーバー上に作成されました。
次のレッスンでは、作成した Market Basket マイニング構造にマイニング モデルを追加します。