CREATE MINING STRUCTURE (DMX)

データベースに新しいマイニング構造を作成し、必要に応じてトレーニング パーティションとテスト パーティションを定義します。 マイニング構造を作成した後、ALTER MINING STRUCTURE (DMX) ステートメントを使用してモデルをマイニング構造に追加できます。

構文

CREATE [SESSION] MINING STRUCTURE <structure>
(
    [(<column definition list>)]
)
[WITH HOLDOUT (<holdout-specifier> [OR <holdout-specifier>])]
[REPEATABLE(<holdout seed>)]
<holdout-specifier>::=  <holdout-maxpercent> PERCENT | <holdout-maxcases> CASES

引数

  • structure
    構造の一意の名前です。

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

  • holdout-maxpercent
    テスト用に確保するデータの割合を示す 1 ~ 100 の整数です。

  • holdout-maxcases
    テストに使用するケースの最大数を示す整数です。

    ケースの最大数に指定された値が入力ケース数を超える場合、すべての入力ケースがテストに使用され、警告が発生します。

    注意

    ケースの最大数と割合の両方を指定すると、2 つの制限のいずれか小さい方が使用されます。

  • holdout seed
    データのパーティション分割を開始するシードとして使用される整数です。

    0 に設定すると、マイニング構造 ID のハッシュがシードとして使用されます。

    注意

    パーティションを再現できるようにする必要がある場合は、シードを指定する必要があります。

    既定値 : REPEATABLE(0)

説明

マイニング構造を定義するには、列リストを指定し、必要に応じて列間の階層リレーションシップを指定して、さらに必要に応じてマイニング構造をトレーニング データセットとテスト データセットにパーティション分割します。

オプションの SESSION キーワードは、その構造が、現在のセッションの間しか使用できない一時的な構造であることを示します。 セッションが終了すると、構造およびその構造に基づくモデルはすべて削除されます。 一時的なマイニング構造およびモデルを作成するには、あらかじめデータベースの AllowSessionMiningModels プロパティを設定しておく必要があります。 詳細については、「データ マイニング プロパティ」を参照してください。

列定義リスト

列定義リストに各列の次の情報を含めることによって、マイニング構造を定義します。

  • 名前 (必須)

  • データ型 (必須)

  • 分布

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

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

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

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

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

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

<column name>    TABLE    ( <column definition list> )

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

列には複数のモデリング フラグ値を定義できます。 ただし、1 つの列に定義できるコンテンツの種類とデータ型はそれぞれ 1 つだけです。

列のリレーションシップ

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

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

提示されたパラメーター

提示されたパラメーターを指定する場合は、構造データのパーティションを作成します。 提示されたパラメーターに指定したデータ量がテスト用に予約され、残りのデータはトレーニングに使用されます。 既定では、SQL Server データ ツール (SSDT) を使用してマイニング構造を作成する場合、30% のテスト データと 70% のトレーニング データを含む、提示されたパーティションが作成されます。 詳細については、「トレーニング データ セットとテスト データ セット」を参照してください。

データ マイニング拡張機能 (DMX) を使用してマイニング構造を作成する場合、提示されたパーティションが作成されるように手動で指定する必要があります。

注意

ALTER MINING STRUCTURE ステートメントでは、提示されたパラメーターはサポートされません。

提示されたパラメーターは 3 つまで指定できます。 提示されたケースの最大数と提示されたケースの割合の両方を指定すると、ケースの最大数に達するまでケースの割合が予約されます。 提示されたケースの割合は整数として指定し、その後に PERCENT キーワードを指定します。ケースの最大数は整数として指定し、その後に CASES キーワードを指定します。 次の例に示すように、条件は任意の順序で組み合わせることができます。

WITH HOLDOUT (20 PERCENT) 
WITH HOLDOUT (2000 CASES) 
WITH HOLDOUT (20 PERCENT OR 2000 CASES) 
WITH HOLDOUT (2000 CASES OR 20 PERCENT)

提示されたシードによって、トレーニング データセットまたはテスト データセットにケースをランダムに割り当てる処理の開始位置が制御されます。 提示されたシードを設定すると、パーティションを反復可能にすることができます。 提示されたシードを指定しない場合、Analysis Services では、マイニング構造の名前を使用してシードが作成されます。 構造の名前を変更すると、シード値が変更されます。 提示されたシード パラメーターは、他の提示されたパラメーターのいずれかまたは両方と共に使用できます。

注意

パーティション情報はトレーニング データと共にキャッシュされるので、提示されたパラメーターを使用するには、マイニング構造の CacheMode プロパティが KeepTrainingData に設定されていることを確認する必要があります。 これは、Analysis Services における新しいマイニング構造の既定の設定です。 提示されたパーティションを含む既存のマイニング構造で CacheMode プロパティを ClearTrainingCases に変更しても、処理済みのマイニング モデルには影響しません。 ただし、MiningStructureCacheMode が KeepTrainingData に設定されていない場合、提示されたパラメーターを使用しても効果はありません。 つまり、すべてのソース データがトレーニングに使用され、テスト セットは使用できません。 パーティションの定義は構造と共にキャッシュされます。トレーニング ケースのキャッシュを消去すると、テスト データのキャッシュおよび提示されたセットの定義も消去されます。

使用例

次の例では、DMX を使用して、提示されたパラメーターによってマイニング構造を作成する方法について説明します。

例 1 : トレーニング セットを含まない構造を追加する

次の例では、関連するマイニング モデルを作成せずに、提示されたパラメーターを使用することなく New Mailing と呼ばれる新しいマイニング構造を作成します。 マイニング モデルを構造に追加する方法については、「ALTER MINING STRUCTURE (DMX)」を参照してください。

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
)

例 2 : 提示された割合とシードを指定する

次の句を列定義リストの後に追加すると、マイニング構造に関連付けられているすべてのマイニング モデルをテストするためのデータセットを定義できます。 このステートメントでは、ケースの最大数を制限せずに、入力ケースの合計の 25% のテスト セットを作成します。 パーティションを作成するためのシードとして 5000 を使用します。 シードを指定した場合は、基になるデータに変更が生じない限り、マイニング構造を処理するたびに、テスト セットに対して同じケースが選択されます。

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
) 
WITH HOLDOUT(25 PERCENT) REPEATABLE(5000)

例 3 : 提示された割合とケースの最大数を指定する

次の句では、入力ケースの合計の 25% または 2000 ケースのいずれか少ない方を含むテスト セットを作成します。 シードとして 0 が指定されているので、入力ケースのサンプリングの開始に使用されるシードを作成するためにマイニング構造の名前が使用されます。

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
) 
WITH HOLDOUT(25 PERCENT OR 2000 CASES) REPEATABLE(0)

関連項目

参照

データ マイニング拡張機能 (DMX) データ定義ステートメント

データ マイニング拡張機能 (DMX) データ操作ステートメント

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