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