次の方法で共有


SystemGetClusterCrossValidationResults (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 - データ マイニング) を使用する必要があります。

構文

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

引数

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

(必須)

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

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

注意

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

(省略可能)

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

各パーティションには、ほぼ次のケース数が含まれます。 ケースの最大/フォールド数

既定値はありません。

注意

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

(必須)

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

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

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

(必須)

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

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

(省略可能)

戻り値の型

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

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

列名 説明
ModelName テストされたモデルの名前。
AttributeName 予測可能列の名前。 クラスター モデルでは、常に nullになります。
AttributeState 予測可能列で指定した対象の値。 クラスター モデルの場合は、常に null。
PartitionIndex 結果が適用されるパーティションを識別する、1 から始まるインデックス。
PartitionSize 各パーティションに含まれていたケースの数を示す整数。
テスト 実行されたテストの種類。
メジャー テストから返されたメジャーの名前。 各モデルのメジャーは、予測可能な値の型によって異なります。 各メジャーの定義については、「 クロス検証 (Analysis Services - データ マイニング)」を参照してください。

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

注釈

データ セット全体の精度メトリックを返すには、 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 テスト メジャー
クラスター 1 1 3025 クラスタリング ケースの確率値 0.930524511864121
クラスター 1 2 3025 クラスタリング ケースの確率値 0.919184178430778
クラスター 1 3 3024 クラスタリング ケースの確率値 0.929651120490248
Cluster 2 1 1289 クラスタリング ケースの確率値 0.922789726933607
Cluster 2 2 1288 クラスタリング ケースの確率値 0.934865535691068
Cluster 2 3 1288 クラスタリング ケースの確率値 0.924724595688798

要件

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

参照

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