次の方法で共有


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

指定した数の複数のセクションにマイニング構造をパーティション分割し、各パーティションに対してモデルをトレーニングして、各パーティションの精度の基準を返します。

   このストアド プロシージャは、少なくとも 1 つのクラスタ モデルが含まれているマイニング構造でのみ使用できます。非クラスタ モデルのクロス検証を行うには、SystemGetCrossValidationResults (Analysis Services - データ マイニング) を使用する必要があります。

構文

SystemGetClusterCrossValidationResults(
<structure name>, 
[,<mining model list>]
,<fold count>}
,<max cases>
<test list>])

引数

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

    (必須)

  • mining model list
    検証するマイニング モデルのコンマ区切りの一覧。

    マイニング モデルの一覧を指定しないと、指定した構造に関連付けられたすべてのクラスタ モデルに対してクロス検証が実行されます。

    注意注意

    クラスタ モデルではないモデルのクロス検証を実行するには、別のストアド プロシージャ SystemGetCrossValidationResults (Analysis Services - データ マイニング) を使用する必要があります。

    (省略可能)

  • fold count
    データセットを分割するパーティションの数を指定する整数。最小値は 2 です。フォールドの最大数は、maximum integer とケース数のいずれか小さい方になります。

    各パーティションには、max cases/fold count とほぼ同じ数のケースが含まれます。

    既定値はありません。

    注意注意

    フォールドの数は、クロス検証の実行に必要な時間に大きく影響します。選択する数が大きすぎると、クエリの実行時間が非常に長くなる可能性があります。また、場合によっては、サーバーが応答しなくなったり、タイムアウトする可能性があります。

    (必須)

  • max cases
    テストできるケースの最大数を指定する整数。

    値に 0 を指定すると、データ ソース内のすべてのケースが使用されます。

    データセット内の実際のケース数より大きい数字を指定すると、データ ソース内のすべてのケースが使用されます。

    (必須)

  • test list
    テスト オプションを指定する文字列。

       このパラメータは将来使用するために予約されています。

    (省略可能)

戻り値の型

戻り値の型のテーブルには、個別のパーティションのスコアと、すべてのモデルの集計が含まれます。

次の表は、返される列を示しています。

列名

説明

ModelName

テストされたモデルの名前。

AttributeName

予測可能列の名前。クラスタ モデルでは、常に null になります。

AttributeState

予測可能列で指定した対象の値。クラスタ モデルでは、常に null になります。

PartitionIndex

結果が適用されるパーティションを識別する、1 から始まるインデックス。

PartitionSize

各パーティションに含まれていたケースの数を示す整数。

Test

実行されたテストの種類。

Measure

テストから返されたメジャーの名前。各モデルのメジャーは、予測可能な値の型によって異なります。各メジャーの定義については、「相互検証 (Analysis Services - データ マイニング)」を参照してください。

予測可能な型ごとに返されるメジャーの一覧については、「クロス検証レポート (Analysis Services - データ マイニング)」を参照してください。

Value

指定したテスト メジャーの値。

説明

データセット全体の精度の基準を返すには、SystemGetClusterAccuracyResults (Analysis Services - データ マイニング) を使用します。

また、既にマイニング モデルをフォールドにパーティション分割している場合は、SystemGetClusterAccuracyResults (Analysis Services - データ マイニング) を使用して、処理を省略し、クロス検証の結果のみを返すことができます。

次の例では、マイニング構造を 3 つのフォールドにパーティション分割し、マイニング構造に関連付けられている 2 つのクラスタ モデルをテストする方法を示します。

コードの 3 行目では、テストする特定のマイニング モデルの一覧を指定します。一覧を指定しない場合、構造に関連付けられているすべてのクラスタ モデルが使用されます。

コードの 4 行目ではフォールドの数を指定し、5 行目では使用するケースの最大数を指定しています。

これらはクラスタ モデルであるため、予測可能な属性または値を指定する必要はありません。

CALL SystemGetClusterCrossValidationResults(
[v Target Mail],
[Cluster 1], [Cluster 2],
3,
10000
)

サンプルの結果 :

ModelName

AttributeName

AttributeState

PartitionIndex

PartitionSize

Test

Measure

Value

Cluster 1

 

 

1

3025

Clustering

Case Likelihood

0.930524511864121

Cluster 1

 

 

2

3025

Clustering

Case Likelihood

0.919184178430778

Cluster 1

 

 

3

3024

Clustering

Case Likelihood

0.929651120490248

Cluster 2

 

 

1

1289

Clustering

Case Likelihood

0.922789726933607

Cluster 2

 

 

2

1288

Clustering

Case Likelihood

0.934865535691068

Cluster 2

 

 

3

1288

Clustering

Case Likelihood

0.924724595688798

要件

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