次の方法で共有


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

適用対象:SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

データ マイニングは SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で停止されました。 非推奨および停止された機能については、ドキュメントの更新は行われません。 詳細については、「Analysis Services 下位互換性」を参照してください。

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

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

注意

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

モデリング フラグの一覧

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

NOT NULL
この属性列の値が NULL 値を含むことはないことを示します。 モデルトレーニングプロセス中にSQL Server Analysis Servicesがこの属性列の null 値を検出すると、エラーが発生します。

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

実際、MODEL_EXISTENCE_ONLY フラグを True に設定すると、 MissingExistingの 2 つの状態だけが存在するように値の形式が変わります。 Missing に該当しない状態はすべて単一の Existing 値に統合されます。

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

注意

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

リグレッサー
列が処理中にリグレッサーとして使用される候補であることを示します。 このフラグは、マイニング モデル列で定義され、連続する数値データ型の列にのみ適用できます。 このフラグの使用の詳細については、このトピックの「 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 の値を試します。 偏差が大きすぎる場合はその回帰式が放棄され、ツリーが他の属性で分割されます。 その後デシジョン ツリー アルゴリズムは、分割後の各分岐で、Income をリグレッサーとして使用できるかどうかを試します。

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

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

タスク トピック
データ マイニング デザイナーを使用してモデリング フラグを編集する モデリング フラグの表示または変更 (データ マイニング)
適切なリグレッサーを推奨するためのヒントをアルゴリズムに対して指定する モデルでリグレッサーとして使用する列の指定
特定のアルゴリズムでサポートされているモデリング フラグを確認する (各アルゴリズムのリファレンス トピックの「モデリング フラグ」セクション) データ マイニング アルゴリズム (Analysis Services - データ マイニング)
マイニング構造列とそこに設定できるプロパティについて詳しく知る マイニング構造列
モデル レベルで適用できるマイニング モデル列とモデリング フラグについて知る マイニング モデル列
DMX ステートメントでモデリング フラグを操作するための構文を参照してください モデリング フラグ (DMX)
欠損値とその使用方法を理解する 不足値 (Analysis Services - データ マイニング)
モデルと構造の管理および使用法のプロパティの設定について知る データ マイニング オブジェクトの移動