マイニング モデルの作成 (DMX)

適用対象:SQL Server Analysis Services

新しいマイニング モデルとマイニング構造の両方をデータベースに作成します。 モデルは、ステートメントで新しいモデルを定義するか、予測モデル マークアップ言語 (PMML) を使用して作成できます。 後者については、詳しい知識のあるユーザーのみ使用してください。

マイニング構造には、モデル名の後に「_structure」を追加した名前を付けます。これにより、構造名がモデル名から一意であることが保証されます。

既存のマイニング構造のマイニング モデルを作成するには、 ALTER MINING STRUCTURE (DMX) ステートメントを使用します。

構文

  
CREATE [SESSION] MINING MODEL <model>  
(  
    [(<column definition list>)]  
)  
USING <algorithm> [(<parameter list>)] [WITH DRILLTHROUGH]  
CREATE MINING MODEL <model> FROM PMML <xml string>  

引数

model
モデルの一意の名前です。

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

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

Note

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

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

XML 文字列
(高度な使用のみ)。XML エンコード モデル (PMML)。 文字列は、単一引用符 (') で囲む必要があります。

SESSION 句を使用すると、接続が閉じたりセッションがタイムアウトしたりしたときにサーバーから自動的に削除されるマイニング モデルを作成できます。SESSION マイニング モデルは、ユーザーがデータベース管理者である必要はないため、接続が開いている間だけディスク領域を使用するため便利です。

WITH DRILLTHROUGH 句を使用すると、新しいマイニング モデルをドリルスルーできます。 ドリルスルーは、モデルの作成時にのみ可能です。 一部のモデルの種類では、カスタム ビューアーでモデルを参照するためにドリルスルーが必要です。 Microsoft 汎用コンテンツ ツリー ビューアーを使用してモデルを予測または参照する場合は、ドリルスルーは必要ありません。

CREATE MINING MODEL ステートメントは、列定義リスト、アルゴリズム、およびアルゴリズム パラメーター リストに基づく新しいマイニング モデルを作成します。

列定義リスト

各列に次の情報を含めることで、列定義リストを使用するモデルの構造を定義します。

  • 名前 (必須)

  • データ型 (必須)

  • Distribution

  • モデリング フラグの一覧

  • コンテンツ タイプ (必須)

  • 予測要求。この列を予測するアルゴリズムを示します。これは、 PREDICT 句または PREDICT_ONLY 句によって示されます。

  • 属性列とのリレーションシップ (適用される場合にのみ必須)、 RELATED TO 句で示されます

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

<column name>    <data type>    [<Distribution>]    [<Modeling Flags>]    <Content Type>    [<prediction>]    [<column relationship>]   

入れ子になったテーブル列を定義するには、列定義リストに次の構文を使用します。

<column name>    TABLE    [<prediction>] ( <non-table column definition list> )  

モデリング フラグを除き、特定のグループから句を 1 つだけ使用して列を定義します。 列には複数のモデリング フラグを定義できます。

列の定義に使用できるデータ型、コンテンツ タイプ、列の分布、モデリング フラグの一覧については、次のトピックを参照してください。

ステートメントに句を追加して、2 つの列間のリレーションシップを記述できます。 Analysis Services では、次の <Column リレーションシップ> 句の使用がサポートされています。

搦み
この形式は値の階層を示します。 RELATED TO 列のターゲットには、入れ子になったテーブルのキー列、ケース行の不連続値列、またはより深い階層を示す RELATED TO 句を含む別の列を指定できます。

予測列の使用方法を説明するには、予測句を使用します。 次の表では、考えられる 2 つの句について説明します。

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

パラメーター定義リスト

パラメーター リストを使用して、マイニング モデルのパフォーマンスと機能を調整できます。 パラメーター リストの構文は次のとおりです。

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

各アルゴリズムに関連付けられているパラメーターの一覧については、「 Data マイニング アルゴリズム (Analysis Services - データ マイニング)」を参照してください。

解説

組み込みのテスト データ セットを持つモデルを作成する場合は、CREATE MINING STRUCTURE ステートメントの後に ALTER MINING STRUCTURE を使用する必要があります。 ただし、すべての種類のモデルで予約データセットがサポートされるわけではありません。 詳細については、「 マイニング構造 (DMX) を作成する」を参照してください。

CREATEMODEL ステートメントを使用してマイニング モデルを作成する方法のチュートリアルについては、「 Time Series Prediction DMX チュートリアルを参照してください。

Naive Bayes の例

次の例では、Microsoft Naive Bayes アルゴリズムを使用して新しいマイニング モデルを作成します。 Bike Buyer 列は、予測可能な属性として定義されます。

CREATE MINING MODEL [NBSample]  
(  
    CustomerKey LONG KEY,   
    Gender TEXT DISCRETE,  
    [Number Cars Owned] LONG DISCRETE,  
    [Bike Buyer] LONG DISCRETE PREDICT  
)  
USING Microsoft_Naive_Bayes  

アソシエーション モデルの例

次の例では、Microsoft Association アルゴリズムを使用して新しいマイニング モデルを作成します。 このステートメントでは、テーブル列を使用してモデル定義内のテーブルを入れ子にする機能を利用します。 モデルは、 MINIMUM_PROBABILITY パラメーターと MINIMUM_SUPPORT パラメーターを使用して変更されます。

CREATE MINING MODEL MyAssociationModel (  
    OrderNumber TEXT KEY,  
    [Products] TABLE PREDICT (  
        [Model] TEXT KEY  
    )  
)  
USING Microsoft_Association_Rules (Minimum_Probability = 0.1, MINIMUM_SUPPORT = 0.01)  

シーケンス クラスタリングの例

次の例では、Microsoft シーケンス クラスタリング アルゴリズムを使用して新しいマイニング モデルを作成します。 モデルの定義には、2 つのキーが使用されます。 OrderNumber 列はケース キーとして使用され、個々の注文を指定します。 LineNumber 列は、入れ子になったテーブルのキーとして使用され、注文が追加されたアイテムのシーケンスを指定します。

CREATE MINING MODEL BuyingSequence (  
    [Order Number] TEXT KEY,  
    [Products] TABLE   
     (  
        [Line Number] LONG KEY SEQUENCE,  
        [Model] TEXT DISCRETE PREDICT  
    )  
)  
USING Microsoft_Sequence_Clustering  

時系列の例

次の例では、Microsoft Times Series アルゴリズムを使用して、ARTxp アルゴリズムを使用して新しいマイニング モデルを作成します。 ReportingDate は時系列のキー列で、ModelRegion はデータ系列のキー列です。 この例では、データの周期を 12 か月としています。 したがって、 PERIODICITY_HINT パラメーターは 12 に設定されます。

Note

中かっこ文字を使用して、 PERIODICITY_HINT パラメーターを指定する必要があります。 さらに、値は文字列であるため、"{<numeric value>}" という単一引用符で囲む必要があります。

CREATE MINING MODEL SalesForecast (  
        ReportingDate DATE KEY TIME,  
        ModelRegion TEXT KEY,  
        Amount LONG CONTINUOUS PREDICT,  
        Quantity LONG CONTINUOUS PREDICT  
)  
USING Microsoft_Time_Series (PERIODICITY_HINT = '{12}', FORECAST_METHOD = 'ARTXP')  

参照

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