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

適用対象: SQL Server 2019 以前の Analysis Services Azure Analysis Services Fabric/Power BI Premium

Important

データ マイニングは 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>])  

論争

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

(必須)

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

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

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

(省略可能)

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

各パーティションには、最大ケース数/fold カウントというケースのほぼ数が含まれています。

既定値はありません。

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

(必須)

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

値 0 は、プロシージャがデータ ソース内のすべてのケースを使用することを示します。

データ セット内の実際のケース数より大きい数値を指定すると、プロシージャはデータ ソース内のすべてのケースをテストします。

(必須)

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

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

(省略可能)

返り値の種類

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

次の表では、返される列について説明します。

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

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

注釈

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

マイニング モデルに既にフォールドが含まれている場合は、 SystemGetClusterAccuracyResults (Analysis Services - データ マイニング) を使用して処理をスキップし、クロス検証結果のみを返します。

例示

次の使用例は、マイニング構造を 3 つのフォールドに分割し、関連する 2 つのクラスタリング モデルをテストします。

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

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

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

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

サンプルの結果:

モデル名 属性名 AttributeState PartitionIndex パーティションサイズ Test 測る 価値
クラスター 1 1 3025 Clustering Case 尤 0.930524511864121
クラスター 1 2 3025 Clustering Case 尤 0.919184178430778
クラスター 1 3 3024 Clustering Case 尤 0.929651120490248
クラスター 2 1 1289 Clustering Case 尤 0.922789726933607
クラスター 2 2 1288 Clustering Case 尤 0.934865535691068
クラスター 2 3 1288 Clustering Case 尤 0.924724595688798

Requirements

SQL Server 2008 以降では、SQL Server Enterprise のみがクロス検証をサポートしています。

こちらもご覧ください

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