レッスン 4: Bike Buyer マイニング モデルの参照

このレッスンでは、SELECT (DMX) ステートメントを使用して、デシジョン ツリーと「レッスン 2: Bike Buyer マイニング構造へのマイニング モデルの追加」で作成したクラスタ マイニング モデルの内容を調査します。

マイニング モデルに含まれる列は、マイニング構造で定義されている列ではなく、アルゴリズムによって検出された傾向とパターンを記述している、特定の列のセットです。これらのマイニング モデル列は、DMSCHEMA_MINING_MODEL_CONTENT Rowset スキーマ行セット内に記述されます。たとえば、コンテンツ スキーマ行セットの MODEL_NAME 列には、マイニング モデルの名前が含まれます。クラスタ マイニング モデルの場合、NODE_CAPTION 列には各クラスタの名前が含まれ、NODE_DESCRIPTION 列には各クラスタの特性の説明が含まれます。これらの列は、DMX の SELECT FROM <model>.CONTENT ステートメントを使用して参照できます。このステートメントを使用すると、マイニング モデルの作成に使用されたデータを調査することもできます。このステートメントを使用するには、マイニング構造上でドリルスルーを有効にする必要があります。このステートメントの詳細については、「SELECT FROM <model>.CASES (DMX)」を参照してください。

SELECT DISTINCT ステートメントを使用することにより、不連続列のすべての状態を返すこともできます。たとえば、性別の列でこの操作を実行すると、クエリでは male と female が返されます。

このレッスンの作業

このレッスンでは、次の作業を行います。

  • マイニング モデルに含まれる内容の調査

  • マイニング モデルのトレーニングに使用されたソース データからケースを返す

  • 特定の不連続列に対して可能な状態の調査

マイニング モデルの内容を返す

このレッスンでは、SELECT FROM <model>.CONTENT (DMX) ステートメントを使用して、クラスタ モデルの内容を返します。

SELECT FROM <model>.CONTENT ステートメントの汎用例を次に示します。

SELECT <select list> FROM [<mining model>].CONTENT
WHERE <where clause>

コードの 1 行目では、マイニング モデルの内容から返す列と、それらの列が関連付けられているマイニング モデルを定義します。

SELECT <select list> FROM [<mining model].CONTENT

マイニング モデル名の後の .CONTENT 句は、マイニング モデルから内容を返すことを示します。マイニング モデルに含まれる列の詳細については、「DMSCHEMA_MINING_MODEL_CONTENT 行セット」を参照してください。

コードの最終行では、ステートメントで返される結果をフィルタ選択します。この行は省略可能です。

WHERE <where clause>

たとえば、クエリの結果を制限して、多数のケースが含まれるクラスタのみを返すようにする場合は、SELECT ステートメントに次の WHERE 句を追加します。

WHERE NODE_SUPPORT > 100

WHERE ステートメントの使用の詳細については、「SELECT (DMX)」を参照してください。

クラスタ マイニング モデルの内容を返すには

  1. オブジェクト エクスプローラで、Analysis Services インスタンスを右クリックし、[新しいクエリ] をポイントして [DMX] をクリックします。

    クエリ エディタが開き、新しい空のクエリが表示されます。

  2. 上の SELECT FROM <model>.CONTENT ステートメントの汎用例を、空のクエリにコピーします。

  3. 次の部分を探します。

    <select list> 
    

    これを次の文字列に置き換えます。

    * は、DMSCHEMA_MINING_MODEL_CONTENT Rowset に含まれる任意の列の一覧に置き換えることもできます。

  4. 次の部分を探します。

    [<mining model>] 
    

    これを次の文字列に置き換えます。

    [Clustering]
    

    最終的なステートメントは次のようになります。

    SELECT * FROM [Clustering].CONTENT
    
  5. [ファイル] メニューで、[名前を付けて DMXQuery1.dmx を保存] をクリックします。

  6. [名前を付けて保存] ダイアログ ボックスで、適切なフォルダを参照して指定し、ファイルに「SELECT_CONTENT.dmx」という名前を付けます。

  7. ツール バーの [実行] ボタンをクリックします。

    クエリが実行され、マイニング モデルの内容が返されます。

ドリルスルーの使用

次の手順では、ドリルスルー ステートメントを使用して、デシジョン ツリー マイニング モデルのトレーニングに使用されたケースの一部を返します。このレッスンでは、SELECT FROM <model>.CASES (DMX) ステートメントを使用して、デシジョン ツリー モデルの内容を返します。

SELECT FROM <model>.CASES ステートメントの汎用例を次に示します。

SELECT <select list> 
FROM [<mining model>].CASES
WHERE IsInNode('<node id>')

コードの 1 行目では、ソース データから返す列と、それらの列が含まれるマイニング モデルを定義します。

SELECT <select list> FROM [<mining model>].CASES

.CASES 句は、ドリルスルー クエリを実行することを示します。ドリルスルーを使用するには、マイニング モデルの作成時にドリルスルーを有効にする必要があります。

コードの最終行では、ケースを要求するマイニング モデル内のノードを指定します。この行は省略可能です。

WHERE IsInNode('<node id>')

WHERE ステートメントを IsInNode と共に使用する場合の詳細については、「SELECT FROM <model>.CASES (DMX)」を参照してください。

マイニング モデルのトレーニングに使用されたケースを返すには

  1. オブジェクト エクスプローラで、Analysis Services インスタンスを右クリックし、[新しいクエリ] をポイントして [DMX] をクリックします。

    クエリ エディタが開き、新しい空のクエリが表示されます。

  2. 上の SELECT FROM <model>.CASES ステートメントの汎用例を、空のクエリにコピーします。

  3. 次の部分を探します。

    <select list> 
    

    これを次の文字列に置き換えます。

    * は、ソース データ内に含まれる任意の列の一覧 ([Bike Buyer] など) に置き換えることもできます。

  4. 次の部分を探します。

    [<mining model>] 
    

    これを次の文字列に置き換えます。

    [Decision Tree]
    

    最終的なステートメントは次のようになります。

    SELECT * 
    FROM [Decision Tree].CASES
    
  5. [ファイル] メニューで、[名前を付けて DMXQuery1.dmx を保存] をクリックします。

  6. [名前を付けて保存] ダイアログ ボックスで、適切なフォルダを参照して指定し、ファイルに「SELECT_DRILLTHROUGH.dmx」という名前を付けます。

  7. ツール バーの [実行] ボタンをクリックします。

    クエリが実行され、デシジョン ツリー マイニング モデルのトレーニングに使用されたソース データが返されます。

マイニング モデルの不連続列の状態を返す

次の手順では、SELECT DISTINCT ステートメントを使用して、指定されたマイニング モデル列に対して可能な状態を返します。

SELECT DISTINCT ステートメントの汎用例を次に示します。

SELECT DISTINCT [<column>] 
FROM [<mining model>]

コードの 1 行目では、状態を返すマイニング モデル列を定義します。

SELECT DISTINCT [<column>] 

列のすべての状態を返すには、DISTINCT を含める必要があります。DISTINCT を指定しない場合は、ステートメント全体が予測用のショートカットとなり、指定した列で最も可能性の高い状態が返されます。詳細については、「SELECT (DMX)」を参照してください。

不連続列の状態を返すには

  1. オブジェクト エクスプローラで、Analysis Services インスタンスを右クリックし、[新しいクエリ] をポイントして [DMX] をクリックします。

    クエリ エディタが開き、新しい空のクエリが表示されます。

  2. 上の SELECT Distinct ステートメントの汎用例を空のクエリにコピーします。

  3. 次の部分を探します。

    [<column,name> 
    

    これを次の文字列に置き換えます。

    [Bike Buyer]
    
  4. 次の部分を探します。

    [<mining model>] 
    

    これを次の文字列に置き換えます。

    [Decision Tree]
    

    最終的なステートメントは次のようになります。

    SELECT DISTINCT [Bike Buyer] 
    FROM [Decision Tree]
    
  5. [ファイル] メニューで、[名前を付けて DMXQuery1.dmx を保存] をクリックします。

  6. [名前を付けて保存] ダイアログ ボックスで、適切なフォルダを参照して指定し、ファイルに「SELECT_DISCRETE.dmx」という名前を付けます。

  7. ツール バーの [実行] ボタンをクリックします。

    クエリが実行され、Bike Buyer 列の可能な状態が返されます。

次のレッスンでは、デシジョン ツリー マイニング モデルを使用して、潜在顧客が自転車の購入者になるかどうかを予測します。