CREATE MINING MODEL (DMX)

新しいマイニング モデルとマイニング構造の両方をデータベースに作成します。モデルを作成するには、新しいモデルをステートメントで定義するか、Predictive Model Markup Language (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
    モデルの一意の名前です。

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

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

    注意

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

  • parameter list
    省略可。プロバイダによって定義された、アルゴリズムに対するパラメータのコンマ区切りリストです。

  • XML string
    (詳しい知識のあるユーザーのみ。)XML でエンコードされたモデル (PMML) です。文字列を示すには必ず単一引用符 (') を使用してください。

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

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

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

列定義の一覧

列定義の一覧を使用するモデルの構造を定義するには、次の情報を各列に含めます。

  • 名前 (必須)

  • データ型 (必須)

  • 分布

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

  • コンテンツの種類 (必須)

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

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

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

<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 relationship> 句の使用がサポートされます。

  • RELATED TO
    この形式は値の階層を示します。RELATED TO 列の対象にすることが可能なのは、入れ子になったテーブル内のキー列、ケース行内の不連続値の列、RELATED TO 句のある別の列です。これにより、より深い階層が示されます。

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

<prediction> 句

説明

PREDICT

この列は、モデルによって予測が可能で、入力ケースで指定されることで、その他の予測可能列の値を予測することができます。

PREDICT_ONLY

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

パラメータ定義リスト

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

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

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

説明

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

CREATEMODEL ステートメントを使用してマイニング モデルを作成する方法のチュートリアルについては、「時系列予測の 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 結合アルゴリズムを使用して、新しいマイニング モデルを作成しています。このステートメントは、テーブル列を使用することで、モデル定義内でテーブルを入れ子にする機能を利用しています。モデルを変更するには、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 タイム シリーズ アルゴリズムで、ARTxp アルゴリズムを使用して新しいマイニング モデルを作成しています。ReportingDate は時系列のキー列で、ModelRegion はデータ系列のキー列です。この例では、データの周期を 12 か月としています。そのため、PERIODICITY_HINT パラメータは 12 に設定されています。

注意

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')