次の方法で共有


モデリング フラグ (データ マイニング)

SQL Server Analysis Services のモデリング フラグを使用すると、ケース テーブルで定義されているデータに関する追加情報をデータ マイニング アルゴリズムに提供できます。 アルゴリズムは、この情報を使用して、より正確なデータ マイニング モデルを作成することができます。

一部のモデリング フラグはマイニング構造のレベルで定義され、他のフラグはマイニング モデル列のレベルで定義されます。 たとえば、マイニング構造列では、 NOT NULL モデリング フラグが使用されます。 モデルの作成に使用するアルゴリズムに応じて、マイニング モデル列に追加のモデリング フラグを定義できます。

サードパーティのプラグインには、Analysis Services によって事前に定義されているものに加えて、他のモデリング フラグが含まれる場合があります。

モデリング フラグの一覧

次の一覧では、Analysis Services でサポートされているモデリング フラグについて説明します。 特定のアルゴリズムでサポートされているモデリング フラグの詳細については、モデルの作成に使用されたアルゴリズムのテクニカル リファレンス トピックを参照してください。

NOT NULL
属性列の値に null 値を含めないことを示します。 モデルのトレーニング プロセス中に Analysis Services でこの属性列の null 値が検出された場合、エラーが発生します。

MODEL_EXISTENCE_ONLY
列が、 MissingExistingの 2 つの状態として扱われることを示します。 値が NULL場合は、Missing として扱われます。 MODEL_EXISTENCE_ONLY フラグは予測可能な属性に適用され、ほとんどのアルゴリズムでサポートされています。

実際には、MODEL_EXISTENCE_ONLY フラグを True に設定すると、 MissingExistingの 2 つの状態のみが存在するように値の表現が変更されます。 不足していない状態はすべて、1 つの Existing 値に結合されます。

このモデリング フラグの一般的な用途は、 NULL 状態が暗黙的な意味を持つ属性であり、 NOT NULL 状態の明示的な値は、列に値があるという事実ほど重要ではない可能性があります。 たとえば、コントラクトが署名されていない場合は [DateContractSigned] 列が NULL され、コントラクトが署名された場合は NOT NULL される場合があります。 したがって、モデルの目的がコントラクトが署名されるかどうかを予測する場合は、MODEL_EXISTENCE_ONLY フラグを使用して、 NOT NULL ケースの正確な日付値を無視し、コントラクトが Missing または Existingケースのみを区別できます。

Missing はアルゴリズムで使用される特殊な状態であり、列のテキスト値 "Missing" とは異なります。 詳細については、「 欠損値 (Analysis Services - データ マイニング)」を参照してください。

REGRESSOR
列が処理中にリグレッサーとして使用される候補であることを示します。 このフラグはマイニング モデル列で定義され、連続する数値データ型を持つ列にのみ適用できます。 このフラグの使用方法の詳細については、このトピックの「 REGRESSOR モデリング フラグの使用」セクションを参照してください。

モデリング フラグの表示と変更

構造またはモデルのプロパティを表示することで、データ マイニング デザイナーでマイニング構造列またはモデル列に関連付けられているモデリング フラグを表示できます。

現在のマイニング構造に適用されているモデリング フラグを確認するには、次のようなクエリを使用して、構造列のモデリング フラグのみを返すデータ マイニング スキーマ行セットに対するクエリを作成します。

SELECT COLUMN_NAME, MODELING_FLAG  
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS  
WHERE STRUCTURE_NAME = '<structure name>'  

データ マイニング デザイナーを使用し、関連付けられている列のプロパティを編集することで、モデルで使用されるモデリング フラグを追加または変更できます。 このような変更では、構造またはモデルを再処理する必要があります。

DMX を使用するか、AMO または XMLA スクリプトを使用して、新しいマイニング構造またはマイニング モデルでモデリング フラグを指定できます。 ただし、DMX を使用して、既存のマイニング モデルと構造で使用されるモデリング フラグを変更することはできません。 ALTER MINING STRUCTURE....ADD MINING MODEL構文を使用して、新しいマイニング モデルを作成する必要があります。

REGRESSOR モデリング フラグの使用

列に REGRESSOR モデリング フラグを設定すると、列に潜在的なリグレッサーが含まれていることをアルゴリズムに示します。 モデルで使用される実際のリグレッサーは、アルゴリズムによって決定されます。 潜在的なリグレッサーは、予測可能な属性をモデル化しない場合は破棄できます。

データ マイニング ウィザードを使用してモデルを構築すると、すべての連続入力列に、可能なリグレッサーとしてフラグが設定されます。 そのため、列に REGRESSOR フラグを明示的に設定しない場合でも、列がモデルのリグレッサーとして使用される可能性があります。

次の例に示すように、マイニング モデルのスキーマ行セットに対してクエリを実行することで、処理されたモデルで実際に使用されたリグレッサーを特定できます。

SELECT COLUMN_NAME, MODELING_FLAG  
FROM $system.DMSCHEMA_MINING_COLUMNS  
WHERE MODEL_NAME = '<model name>'  

手記 マイニング モデルを変更し、列のコンテンツ タイプを連続から不連続に変更する場合は、マイニング列のフラグを手動で変更してから、モデルを再処理する必要があります。

線形回帰モデルのリグレッサー

線形回帰モデルは、Microsoft デシジョン ツリー アルゴリズムに基づいています。 Microsoft 線形回帰アルゴリズムを使用しない場合でも、デシジョン ツリー モデルには、連続属性の回帰を表すツリーまたはノードを含めることができます。

したがって、これらのモデルでは、連続列がリグレッサーを表すように指定する必要はありません。 列に REGRESSOR フラグを設定しない場合でも、Microsoft デシジョン ツリー アルゴリズムは、データセットを意味のあるパターンを持つリージョンにパーティション分割します。 違いは、モデリング フラグを設定すると、アルゴリズムは、ツリーのノード内のパターンに合わせて次の形式の回帰式を見つけようとすることです。

a*C1 + b*C2 + ...

次に、残差の合計が計算され、偏差が大きすぎる場合は、ツリー内で分割が強制されます。

たとえば、 Income を属性として使用して顧客の購入行動を予測し、列に REGRESSOR モデリング フラグを設定する場合、アルゴリズムは最初に標準の回帰式を使用して Income 値の適合を試みます。 偏差が大きすぎる場合、回帰式は破棄され、ツリーは他の属性で分割されます。 デシジョン ツリー アルゴリズムは、分割後の各分岐の収入に対する回帰を試みます。

FORCE_REGRESSOR パラメーターを使用して、アルゴリズムが特定のリグレッサーを使用することを保証できます。 このパラメーターは、デシジョン ツリー アルゴリズムと線形回帰アルゴリズムで使用できます。

モデリング フラグの使用の詳細については、次のリンクを参照してください。

課題 トピック
データ マイニング デザイナーを使用してモデリング フラグを編集する モデリング フラグの表示または変更 (データ マイニング)
アルゴリズムにヒントを指定して、リグレッサーの可能性を高める モデルでリグレッサーとして使用する列を指定する
特定のアルゴリズムでサポートされているモデリング フラグを参照してください (各アルゴリズムの「モデリング フラグ」セクションの参照トピック) データ マイニング アルゴリズム (Analysis Services - データ マイニング)
マイニング構造列とその列に設定できるプロパティの詳細 マイニング構造列
モデル レベルで適用できるマイニング モデル列とモデリング フラグについて説明します マイニングモデルの列
DMX ステートメントでモデリング フラグを操作するための構文を参照してください モデリングフラグ(DMX)
欠損値とそれらをどのように扱うかを理解する 欠損値 (分析サービス - データマイニング)
モデルと構造の管理と使用プロパティの設定について説明します データ マイニング オブジェクトの移動