ALTER MINING STRUCTURE (DMX)

適用対象:SQL Server Analysis Services

既存のマイニング構造に基づく新しいマイニング モデルを作成します。 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>)]  

引数

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

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

列定義リスト
列定義のコンマ区切りのリスト。

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

入れ子になったフィルター条件
入れ子になったテーブルの列に適用されるフィルター式。

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

Note

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

パラメーター リスト
省略可能。 アルゴリズムのプロバイダー定義パラメーターのコンマ区切りの一覧。

フィルター条件
ケース テーブルの列に適用されるフィルター式。

解説

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

モデルに予測可能な列 (たとえば、Microsoft クラスタリングおよび Microsoft シーケンス クラスタリング アルゴリズムを使用して構築されたモデル) が必要ない場合は、ステートメントに列定義を含める必要はありません。 結果のモデル内のすべての属性が入力として扱われます。

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

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

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

大文字と小文字のフィルター処理とドリルスルーの両方を使用するには、次の例に示す構文を使用して、キーワードを 1 つの WITH 句に結合します。

WITH DRILLTHROUGH, FILTER(Gender = 'Male')

列定義リスト

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

  • 名前 (必須)

  • エイリアス (省略可能)

  • モデリング フラグ

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

1 つの列を定義するには、列定義リストに次の構文を使用します。

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

列名と別名

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

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

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

ModelingFlags

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

Note

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

任期 定義
REGRESSOR アルゴリズムが、指定した列を回帰アルゴリズムの回帰式に使用できることを示します。
MODEL_EXISTENCE_ONLY 属性列の値が属性の有無ほど重要ではないことを示します。

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

Prediction 句

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

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

フィルター条件式

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

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

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

Note

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

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

パラメーター定義リスト

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

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

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

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

次の例では、 New Mailing マイニング構造に Naive Bayes マイニング モデルを追加し、属性の状態の最大数を 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 で追加したマイニング モデルと同じです。ただし、このモデルでは、マイニング構造から 50 歳以上の女性顧客にケースを制限します。

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: 入れ子になったテーブルを含む構造へのフィルター選択されたモデルの追加

次の例では、マーケット バスケット マイニング構造の変更されたバージョンにマイニング モデルを追加します。 この例で使用するマイニング構造は、顧客リージョンの属性を含む Region 列と、 Income Group 列を追加するように変更されました。この列では、値 HighModerate、または Low を使用して顧客の収入を分類します。

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

マイニング構造には入れ子になったテーブルが含まれているため、ケース テーブル、入れ子になったテーブル、またはその両方にフィルターを定義できます。 この例では、ケース フィルターと入れ子になった行フィルターを組み合わせて、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  

参照

データ マイニング拡張機能 (DMX) データ定義ステートメント
データ マイニング拡張機能 (DMX) データ操作ステートメント
データ マイニング拡張機能 (DMX) ステートメント リファレンス