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 Enterprise でのみ使用できます。