適用対象:
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 - データ マイニング)