マイニング構造の作成 (DMX)

適用: SQL Server Analysis Services

データベースに新しいマイニング構造を作成し、必要に応じてトレーニング パーティションとテスト パーティションを定義します。 マイニング構造を作成したら、 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  

引数

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

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

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

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

max cases に指定された値が入力ケースの数より大きい場合は、すべての入力ケースがテストに使用され、警告が発生します。

注意

ケースの割合と最大数の両方を指定した場合は、2 つの制限のうち小さい方が使用されます。

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

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

注意

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

既定値 : REPEATABLE(0)

注釈

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

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

列定義リスト

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

  • 名前 (必須)

  • データ型 (必須)

  • Distribution

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

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

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

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

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

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

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

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

列には複数のモデリング フラグ値を定義できます。 ただし、1 つの列に使用できるコンテンツ タイプは 1 つだけで、データ型は 1 つだけです。

列リレーションシップ

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

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

Holdout パラメーター

保留パラメーターを指定する場合は、構造データのパーティションを作成します。 ホールドアウトに指定した量はテスト用に予約されており、残りのデータはトレーニングに使用されます。 既定では、SQL Server Data Tools (SSDT) を使用してマイニング構造を作成すると、30% のテスト データと 70% のトレーニング データを含むホールドアウト パーティションが自動的に作成されます。 詳しくは、「 Training and Testing Data Sets」をご覧ください。

データ マイニング拡張機能 (DMX) を使用してマイニング構造を作成する場合は、保持パーティションを作成することを手動で指定する必要があります。

注意

ALTER MINING STRUCTURE ステートメントでは、ホールドアウトはサポートされていません。

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

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

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

注意

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

次の例では、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) ステートメント リファレンス