次の方法で共有


SystemGetAccuracyResults (Analysis Services - データ マイニング)

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

重要

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

マイニング構造と関連するすべてのモデル (クラスター モデルを除く) に対するクロス検証の精度基準を返します。

このストアド プロシージャは、データセット全体の基準を 1 つのパーティションとして返します。 データセットをクロス セクションにパーティション分割し、各パーティションのメトリックを返すには、 SystemGetCrossValidationResults (Analysis Services - データ マイニング) を使用します。

注意

このストアド プロシージャは、Microsoft Time Series アルゴリズムまたは Microsoft Sequence Clustering アルゴリズムを使用して構築されたモデルではサポートされていません。 また、クラスタリング モデルの場合は、個別のストアド プロシージャ SystemGetClusterAccuracyResults (Analysis Services - データ マイニング) を使用します。

構文

  
SystemGetAccuracyResults(<mining structure>,   
[,<mining model list>]  
,<data set>  
,<target attribute>  
[,<target state>]  
[,<target threshold>]  
[,<test list>])  

引数

マイニング構造
現在のデータベースのマイニング構造の名前。

(必須)

model list
検証するモデルのコンマ区切りの一覧。

既定値は null です。 つまり、適用可能なモデルがすべて使用されます。 既定値を使用すると、クラスター モデルは処理の対象一覧から自動的に除外されます。

(省略可能)

データ セット
テストにマイニング構造のパーティションを使用しているかを示す整数値。 この値は、次の値の合計を表すビットマスクから派生しています。この場合、いずれの値も省略可能です。

カテゴリ
トレーニング ケース 0x0001
テスト ケース 0x0002
モデル フィルター 0x0004

指定可能な値の一覧については、このトピックの「解説」を参照してください。

(必須)

target 属性
予測可能なオブジェクトの名前を表す文字列。 予測可能なオブジェクトには、マイニング モデルの列、入れ子になったテーブル列、または入れ子になったテーブル キー列を指定できます。

(必須)

ターゲットの状態
予測する特定の値を表す文字列。

値を指定した場合、その特定の状態の基準が収集されます。

値を指定しなかった場合、または Null を指定した場合は、予測ごとに最も可能性の高い状態の基準が計算されます。

既定値は null です

(省略可能)

target threshold
予測値が正確であると見なされる最小確率を示す 0.0 ~ 1 の範囲の数値。

既定値は nullです。これは、すべての予測が正しいと見なされることを意味します。

(省略可能)

テスト リスト (test list)
テスト オプションを指定する文字列。 このパラメーターは将来使用するために予約されています。

(省略可能)

戻り値の型

返される行セットには、各パーティションのスコアと、すべてのモデルの集計が含まれます。

次の表は、 GetValidationResultsによって返される列の一覧です。

列名 説明
モデル テストされたモデルの名前。 All は、結果がすべてのモデルの集計であることを示します。
AttributeName 予測可能列の名前。
AttributeState 予測可能列の対象の値。

この列に値が含まれる場合、指定した状態の基準だけが収集されます。

この値が指定されていない場合や Null の場合は、予測ごとに最も可能性の高い状態の基準が計算されます。
PartitionIndex 結果が適用されるパーティションを表します。

このプロシージャでは、常に 0 になります。
PartitionCases データ セット パラメーターに基づいて、ケース セット内の行数を<示す整数。>
テスト 実行されたテストの種類。
メジャー テストから返されたメジャーの名前。 各モデルのメジャーは、モデルの種類と、予測可能な値の型によって異なります。

予測可能な型ごとに返されるメジャーの一覧については、「 相互検証レポートのメジャー」を参照してください。

各メジャーの定義については、「 クロス検証 (Analysis Services - データ マイニング)」を参照してください。
指定したメジャーの値。

注釈

次の表は、クロス検証に使用されるマイニング構造のデータを指定するために使用できる値の例を示しています。 クロス検証にテスト ケースを使用する場合、マイニング構造には、既にテスト データセットが含まれている必要があります。 マイニング構造の作成時にテスト データセットを定義する方法の詳細については、「 トレーニング データ セットとテスト データ セット」をご覧ください。

整数値 説明
1 トレーニング ケースのみが使用されます。
2 テスト ケースのみが使用されます。
3 トレーニング ケースとテスト ケースの両方が使用されます。
4 無効な組み合わせです。
5 トレーニング ケースのみが使用され、モデル フィルターが適用されます。
6 テスト ケースのみが使用され、モデル フィルターが適用されます。
7 トレーニング ケースとテスト ケースの両方が使用され、モデル フィルターが適用されます。

クロス検証を使用するシナリオの詳細については、「 テストと検証 (データ マイニング)」を参照してください。

この例では、 v Target Mail DTマイニング構造に関連付けられている 1 つのデシジョン ツリー モデル vTargetMail の精度のメジャーを返します。 4 行目のコードは、結果が、テスト ケースに基づいていて、モデルごとにそのモデル固有のフィルターでフィルター処理されていることを示します。 [Bike Buyer] は、予測される列を指定し、その次の行の 1 は、モデルが特定の値 1 ("はい、購入します") に対してのみ評価されることを示します。

コードの最後の行では、状態のしきい値が 0.5 であることを指定します。 つまり、確率が 50% を超える予測は、精度を計算する際に "良い" 予測であると見なされます。

CALL SystemGetAccuracyResults (  
[vTargetMail],  
[vTargetMail DT],  
6,  
'Bike Buyer',  
1,  
0.5  
)  

サンプルの結果 :

ModelName AttributeName AttributeState PartitionIndex PartitionSize テスト メジャー
v Target Mail DT Bike Buyer 1 0 1638 分類 真陽性 605
v Target Mail DT Bike Buyer 1 0 1638 分類 偽陽性 177
v Target Mail DT Bike Buyer 1 0 1638 分類 真陰性 501
v Target Mail DT Bike Buyer 1 0 1638 分類 偽陰性 355
v Target Mail DT Bike Buyer 1 0 1638 Likelihood ログ スコア -0.598454638753028
v Target Mail DT Bike Buyer 1 0 1638 Likelihood リフト 0.0936717116894395
v Target Mail DT Bike Buyer 1 0 1638 Likelihood 2 乗平均平方根誤差 0.361630800104946

要件

クロス検証は、SQL Server 2008 以降のSQL Server Enterpriseでのみ使用できます。

参照

SystemGetCrossValidationResults (Analysis Services - データ マイニング)
SystemGetAccuracyResults
SystemGetClusterCrossValidationResults (Analysis Services - データ マイニング)
SystemGetClusterAccuracyResults (Analysis Services - データ マイニング)