SystemGetClusterCrossValidationResults (Analysis Services - 資料採礦)
將採礦結構分割成指定數目的交叉區段、定型每一個資料分割的模型,然後傳回每一個資料分割的精確度度量。
注意:這個預存程序只能搭配至少包含一個群集模型的採礦結構使用。 若要交叉驗證非群集模型,您必須使用<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 - 資料採礦)>。 如需每一個可預測類型所傳回的量值清單,請參閱<交叉驗證報表中的量值>。 |
值 |
指定之測試量值的值。 |
備註
若要傳回整個資料集的精確度度量,請使用 SystemGetClusterAccuracyResults (Analysis Services - 資料採礦)。
此外,如果採礦模型已經分割成若干摺疊,您可以使用 SystemGetClusterAccuracyResults (Analysis Services - 資料採礦) 來略過處理,並只傳回交叉預測的結果。
範例
下列範例示範如何將採礦結構分割成三個摺疊,然後測試與此採礦結構有關的兩個群集模型。
程式碼的第三行會列出您想要測試的特定採礦模型。 如果您未指定此清單,便會使用與此結構有關的所有群集模型。
程式碼的第四行指定摺疊的數目,第五行則指定要使用的最大案例數。
因為這些是群集模型,所以您不需要指定可預測的屬性或值。
CALL SystemGetClusterCrossValidationResults(
[v Target Mail],
[Cluster 1], [Cluster 2],
3,
10000
)
範例結果:
ModelName |
AttributeName |
AttributeState |
PartitionIndex |
PartitionSize |
測試 |
量值 |
值 |
---|---|---|---|---|---|---|---|
群集 1 |
|
|
1 |
3025 |
群集 |
Case Likelihood |
0.930524511864121 |
群集 1 |
|
|
2 |
3025 |
群集 |
Case Likelihood |
0.919184178430778 |
群集 1 |
|
|
3 |
3024 |
群集 |
Case Likelihood |
0.929651120490248 |
群集 2 |
|
|
1 |
1289 |
群集 |
Case Likelihood |
0.922789726933607 |
群集 2 |
|
|
2 |
1288 |
群集 |
Case Likelihood |
0.934865535691068 |
群集 2 |
|
|
3 |
1288 |
群集 |
Case Likelihood |
0.924724595688798 |
需求
從 SQL Server 2008 開始,交叉驗證只能在 SQL Server Enterprise 中使用。
請參閱
參考
SystemGetCrossValidationResults (Analysis Services - 資料採礦)
SystemGetAccuracyResults (Analysis Services - 資料採礦)
SystemGetClusterCrossValidationResults (Analysis Services - 資料採礦)