ALTER MINING STRUCTURE (DMX)

既存のマイニング構造に基づいて新しいマイニング モデルを作成します。ALTER MINING STRUCTURE ステートメントを使用して新しいマイニング モデルを作成する場合は、構造が既に存在している必要があります。一方、CREATE MINING MODEL (DMX) ステートメントを使用する場合は、モデルの作成時に、その基になるマイニング構造が自動的に生成されます。

構文

ALTER MINING STRUCTURE <structure>
ADD MINING MODEL <model>
(
    <column definition list>
  [(<nested column definition list>) [WITH FILTER (<nested filter criteria>)]]
)
USING <algorithm> [(<parameter list>)] 
[WITH DRILLTHROUGH]
[,FILTER(<filter criteria>)]

引数

  • structure
    マイニング モデルが追加されるマイニング構造の名前です。

  • model
    マイニング モデルの一意の名前です。

  • column definition list
    列定義のコンマ区切りのリストです。

  • nested column definition list
    入れ子になったテーブルの列のコンマ区切りのリストです (該当する場合)。

  • nested filter criteria
    入れ子になったテーブルの列に適用されるフィルタ式です。

  • algorithm
    プロバイダによって定義された、データ マイニング アルゴリズムの名前です。

    注意

    現在のプロバイダでサポートされているアルゴリズムの一覧は、DMSCHEMA_MINING_SERVICES 行セット を使用して取得できます。Analysis Services の現在のインスタンスでサポートされているアルゴリズムを表示するには、「データ マイニング プロパティ」を参照してください。

  • parameter list
    省略可。アルゴリズムのプロバイダ定義パラメータのコンマ区切りのリストです。

  • filter criteria
    ケース テーブルの列に適用されるフィルタ式です。

説明

マイニング構造に複合キーが含まれる場合、マイニング モデルは、構造に定義されているすべてのキー列を含む必要があります。

Microsoft クラスタリング アルゴリズムと Microsoft シーケンス クラスタ アルゴリズムを使用して作成されるモデルなど、モデルに予測可能列が必要ない場合、ステートメントに列定義を含める必要はありません。結果モデルのすべての属性は入力として処理されます。

ケース テーブルに適用する WITH 句では、次のようにフィルタ選択とドリルスルー両方のオプションを指定できます。

  • FILTER キーワードとフィルタ条件を追加します。フィルタはマイニング モデルのケースに適用されます。

  • DRILLTHROUGH キーワードを追加して、マイニング モデルのユーザーがモデルの結果からケース データにドリル ダウンできるようにします。データ マイニング拡張機能 (DMX) では、ドリルスルーはモデルの作成時にのみ可能です。

ケースのフィルタ選択とドリルスルーの両方を使用するには、次の例に示す構文を使用して、1 つの WITH 句内でキーワードを組み合わせます。

WITH DRILLTHROUGH, FILTER(Gender = 'Male')

列定義リスト

モデルの構造を定義するには、各列の次の情報を含む列定義リストを指定します。

  • 名前 (必須)

  • 別名 (省略可能)

  • モデリング フラグ

  • PREDICT 句または PREDICT_ONLY 句で示される、列に予測可能な値が含まれるかどうかをアルゴリズムに示す予測要求

列定義リストの次の構文を使用して、単一列を定義します。

<structure column name>  [AS <model column name>]  [<modeling flags>]    [<prediction>]

列名と別名

列定義リストで使用する列名は、マイニング構造で使用されている列の名前にする必要があります。ただし、マイニング モデルの構造列を表すために、必要に応じて別名を定義できます。同じ構造列に複数の列定義を作成し、列の各コピーに異なる別名と予測の使用方法を割り当てることもできます。既定では、別名を定義しない場合、構造列の名前が使用されます。詳細については、「モデル列の別名を作成する方法」を参照してください。

入れ子になったテーブル列の場合、入れ子になったテーブルの名前を指定し、データ型を TABLE に指定して、モデルに含める入れ子になった列のリストをかっこで囲んで指定します。

入れ子になったテーブル列の定義の後にフィルタ条件式を配置することで、入れ子になったテーブルに適用されるフィルタ式を定義できます。

モデリング フラグ

Analysis Services では、マイニング モデル列で使用する次のモデリング フラグをサポートしています。

注意

NOT_NULL モデリング フラグは、マイニング構造列に適用されます。詳細については、「CREATE MINING STRUCTURE (DMX)」を参照してください。

用語

定義

REGRESSOR

アルゴリズムが、指定した列を回帰アルゴリズムの回帰式に使用できることを示します。

MODEL_EXISTENCE_ONLY

属性列の値が属性の有無ほど重要ではないことを示します。

列には複数のモデリング フラグを定義できます。モデリング フラグの使用方法については、「モデリング フラグ (DMX)」を参照してください。

予測句

予測句では、予測列の使用方法を説明します。次の表は、使用可能な句を示しています。

PREDICT

この列は、モデルによって予測が可能で、その値は他の予測可能列の値を予測するための入力として使用できます。

PREDICT_ONLY

この列は、モデルによって予測が可能ですが、その他の予測可能列の値を予測するためにこの列の値を入力ケースで使用することはできません。

フィルタ条件式

マイニング モデルで使用するケースを制限するフィルタを定義できます。フィルタは、ケース テーブルの列、入れ子になったテーブルの行、またはその両方に適用できます。

フィルタ条件式は、簡略化された DMX 述語で、WHERE 句に似ています。フィルタ式は、基本的な算術演算子、スカラ、および列名を使用する式に制限されます。ただし、EXISTS 演算子は例外です。これは、サブクエリに対して少なくとも 1 行が返される場合は true に評価されます。述語は、AND、OR、および NOT という一般的な論理演算子を使用して組み合わせることができます。

マイニング モデルで使用するフィルタの詳細については、「マイニング モデルのフィルターの作成 (Analysis Services - データ マイニング)」を参照してください。

注意

フィルタ内の列は、マイニング構造列である必要があります。モデル列または別名の列に対してフィルタを作成することはできません。

DMX の演算子と構文の詳細については、「マイニング モデル列」を参照してください。

パラメータ定義リスト

アルゴリズム パラメータをパラメータ リストに追加して、モデルのパフォーマンスと機能を調整できます。使用できるパラメータは、USING 句で指定するアルゴリズムによって異なります。各アルゴリズムに関連付けられたパラメータのリストについては、「データ マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。

パラメータ リストの構文は次のとおりです。

[<parameter> = <value>, <parameter> = <value>,…]

例 1: 構造へのモデルの追加

次の例では、Naive Bayes マイニング モデルを New Mailing マイニング構造に追加し、属性状態の最大数を 50 に制限します。

ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes]
(
    CustomerKey, 
    Gender,
    [Number Cars Owned],
    [Bike Buyer] PREDICT
)
USING Microsoft_Naive_Bayes (MAXIMUM_STATES = 50)

例 2: 構造へのフィルタ選択されたモデルの追加

次の例では、Naive Bayes Women マイニング モデルを New Mailing マイニング構造に追加します。新しいモデルの基本構造は、例 1 で追加されたマイニング モデルと同じです。ただし、このモデルでは、マイニング構造のケースを 51 歳以上の女性の顧客だけに制限します。

ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes Women]
(
    CustomerKey, 
    Gender,
    [Number Cars Owned],
    [Bike Buyer] PREDICT
)
USING Microsoft_Naive_Bayes
WITH FILTER([Gender] = 'F' AND [Age] >50)

例 3: 入れ子になったテーブルを含む構造へのフィルタ選択されたモデルの追加

次の例では、変更した Market Basket マイニング構造にマイニング モデルを追加します。この例で使用されているマイニング構造は変更されました。顧客の地域を表す属性を含む Region 列、および値 High、Moderate、または Low を使用して顧客の収入を分類する Income Group 列が追加されています。

マイニング構造には、顧客が購入した品目を一覧表示する、入れ子になったテーブルも含まれます。

マイニング構造に入れ子になったテーブルが含まれているため、ケース テーブル、入れ子になったテーブル、またはその両方にフィルタを定義できます。この例では、ケース フィルタと入れ子になった行フィルタを組み合わせて、Road Tire モデルのいずれかの品目を購入した富裕なヨーロッパの顧客だけにケースを制限します。

ALTER MINING STRUCTURE [Market Basket with Region and Income]
ADD MINING MODEL [Decision Trees]
(
    CustomerKey, 
    Region,
    [Income Group],
    [Product] PREDICT (Model) 
WITH FILTER (EXISTS (SELECT * FROM [v Assoc Seq Line Items] WHERE 
 [Model] = 'HL Road Tire' OR
 [Model] = 'LL Road Tire' OR
 [Model] = 'ML Road Tire' )
)
) WITH FILTER ([Income Group] = 'High' AND [Region] = 'Europe')
USING Microsoft_Decision Trees