次の方法で共有


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