SystemGetAccuracyResults (Analysis Services - データ マイニング)
マイニング構造と関連するすべてのモデル (クラスター モデルを除く) に対するクロス検証の精度基準を返します。
このストアド プロシージャは、データセット全体の基準を 1 つのパーティションとして返します。データセットをセクションにパーティション分割して、各パーティションの基準を返すには、SystemGetCrossValidationResults (Analysis Services - データ マイニング) を使用してください。
注 |
---|
このストアド プロシージャは、Microsoft タイム シリーズ アルゴリズムや Microsoft シーケンス クラスター アルゴリズムを使用して作成されたモデルではサポートされていません。また、クラスター モデルには、別のストアド プロシージャ SystemGetClusterAccuracyResults (Analysis Services - データ マイニング) を使用してください。 |
構文
SystemGetAccuracyResults(<mining structure>,
[,<mining model list>]
,<data set>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])
引数
mining structure
現在のデータベースのマイニング構造の名前。(必須)
model list
検証するモデルのコンマ区切りの一覧。既定値は null です。つまり、適用可能なモデルがすべて使用されます。既定値を使用すると、クラスター モデルは処理の対象一覧から自動的に除外されます。
(省略可)
data set
テストに使用される、マイニング構造のパーティションを示す整数値。この値は、次の値の合計を表すビットマスクから派生しています。この場合、いずれの値も省略可能です。トレーニング ケース
0x0001
テスト ケース
0x0002
モデル フィルター
0x0004
指定可能な値の一覧については、このトピックの「解説」を参照してください。
(必須)
target attribute
予測可能なオブジェクトの名前を表す文字列。予測可能なオブジェクトには、マイニング モデルの列、入れ子になったテーブル列、または入れ子になったテーブル キー列を指定できます。(必須)
target state
予測する特定の値を表す文字列。値を指定した場合、その特定の状態の基準が収集されます。
値を指定しなかった場合、または Null を指定した場合は、予測ごとに最も可能性の高い状態の基準が計算されます。
既定値は null です。
(省略可能)
target threshold
予測値が正確であると見なされる最小確率を示す 0.0 ~ 1 の範囲の数値。既定値は null です。これは、すべての予測が正しいと見なされることを意味します。
(省略可能)
test list
テスト オプションを指定する文字列。このパラメーターは将来使用するために予約されています。(省略可能)
戻り値の型
返される行セットには、各パーティションのスコアと、すべてのモデルの集計が含まれます。
次の表は、GetValidationResults によって返される列の一覧です。
列名 |
説明 |
---|---|
Model |
テストされたモデルの名前。All は、結果がすべてのモデルの集計であることを示します。 |
AttributeName |
予測可能列の名前。 |
AttributeState |
予測可能列の対象の値。 この列に値が含まれる場合、指定した状態の基準だけが収集されます。 この値が指定されていない場合や Null の場合は、予測ごとに最も可能性の高い状態の基準が計算されます。 |
PartitionIndex |
結果が適用されるパーティションを表します。 このプロシージャでは、常に 0 になります。 |
PartitionCases |
<data set> パラメーターに基づいた、ケース セットの行数を示す整数。 |
Test |
実行されたテストの種類。 |
Measure |
テストから返されたメジャーの名前。各モデルのメジャーは、モデルの種類と、予測可能な値の型によって異なります。 予測可能な型ごとに返されるメジャーの一覧については、「クロス検証レポート (Analysis Services - データ マイニング)」を参照してください。 各メジャーの定義については、「クロス検証 (Analysis Services - データ マイニング)」を参照してください。 |
Value |
指定したメジャーの値。 |
説明
次の表は、クロス検証に使用されるマイニング構造のデータを指定するために使用できる値の例を示しています。クロス検証にテスト ケースを使用する場合、マイニング構造には、既にテスト データセットが含まれている必要があります。マイニング構造の作成時にテスト データセットを定義する方法の詳細については、「トレーニング セットとテスト セットへのデータのパーティション分割 (Analysis Services - データ マイニング)」を参照してください。
整数値 |
説明 |
---|---|
1 |
トレーニング ケースのみが使用されます。 |
2 |
テスト ケースのみが使用されます。 |
3 |
トレーニング ケースとテスト ケースの両方が使用されます。 |
4 |
無効な組み合わせです。 |
5 |
トレーニング ケースのみが使用され、モデル フィルターが適用されます。 |
6 |
テスト ケースのみが使用され、モデル フィルターが適用されます。 |
7 |
トレーニング ケースとテスト ケースの両方が使用され、モデル フィルターが適用されます。 |
クロス検証を使用するシナリオの詳細については、「データ マイニング モデルの検証 (Analysis Services - データ マイニング)」を参照してください。
使用例
この例では、vTargetMail マイニング構造に関連付けられている 1 つのデシジョン ツリー モデル v Target Mail DT の精度のメジャーを返します。4 行目のコードは、結果が、テスト ケースに基づいていて、モデルごとにそのモデル固有のフィルターでフィルター処理されていることを示します。[Bike Buyer] は、予測される列を指定し、その次の行の 1 は、モデルが特定の値 1 ("はい、購入します") に対してのみ評価されることを示します。
コードの最後の行では、状態のしきい値が 0.5 であることを指定します。つまり、確率が 50% を超える予測は、精度を計算する際に "良い" 予測であると見なされます。
CALL SystemGetAccuracyResults (
[vTargetMail],
[vTargetMail DT],
6,
'Bike Buyer',
1,
0.5
)
サンプルの結果 :
ModelName |
AttributeName |
AttributeState |
PartitionIndex |
PartitionSize |
Test |
Measure |
Value |
---|---|---|---|---|---|---|---|
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Classification |
True Positive |
605 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Classification |
False Positive |
177 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Classification |
True Negative |
501 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Classification |
False Negative |
355 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Likelihood |
Log Score |
-0.598454638753028 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Likelihood |
Lift |
0.0936717116894395 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
Likelihood |
Root Mean Square Error |
0.361630800104946 |
要件
相互検証は SQL Server 2008 以降の SQL Server Enterprise でのみ使用できます。