次の方法で共有


マイニング構造の作成 (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 ケースに指定された値が入力ケースの数より大きい場合は、すべての入力ケースがテストに使用され、警告が発生します。

Note

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

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

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

Note

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

既定値 : 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) を使用してマイニング構造を作成する場合は、保持パーティションを作成することを手動で指定する必要があります。

Note

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 はマイニング構造の名前を使用してシードを作成します。 構造体の名前を変更すると、シード値が変更されます。 holdout シード パラメーターは、他のホールドアウト パラメーターのいずれかまたは両方と共に使用できます。

Note

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

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