SystemGetAccuracyResults (Analysis Services - 資料採礦)

針對採礦結構和所有相關模型傳回交叉驗證精確度的度量,不包括群集模型。

此預存程序會將整組資料的度量當做單一資料分割來傳回。若要將資料集分割成交叉區段,並傳回每一個資料分割的度量,請使用<SystemGetCrossValidationResults (Analysis Services - 資料採礦)>。

[!附註]

如果是使用 Microsoft 時間序列演算法或 Microsoft 時序群集演算法所建立的模型,則不支援這個預存程序。此外,也請針對群集模型使用個別的預存程序 SystemGetClusterAccuracyResults (Analysis Services - 資料採礦)

語法

SystemGetAccuracyResults(<mining structure>, 
[,<mining model list>]
,<data set>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])

引數

  • mining structure
    目前資料庫中的採礦結構名稱。

    (必要)

  • model list
    要驗證之模型的逗號分隔清單。

    預設值為 null。這表示會使用所有適用的模型。當使用預設值時,將會自動從候選清單中排除要處理的群集模型。

    (選擇性)

  • data set
    指出採礦結構中哪一個資料分割要用於測試的整數值。此值衍生自代表下列值總和的位元遮罩,其中任何單一值都是選擇性:

    定型案例

    0x0001

    測試案例

    0x0002

    模型篩選器

    0x0004

    如需可能值的完整清單,請參閱本主題的「備註」一節。

    (必要)

  • target attribute
    包含可預測之物件名稱的字串。可預測的物件可以是資料行、巢狀資料表資料行,或是採礦模型的巢狀資料表索引鍵資料行。

    (必要)

  • target state
    包含要預測之特定值的字串。

    如果指定了某個值,將會根據該特定狀態來收集度量。

    如果未指定任何值,或是指定了 null,將會針對每一項預測最有可能的狀態來計算度量。

    預設值為 null。

    (選擇性)

  • target threshold
    介於 0.0 和 1 之間的數字,可指定預測值算為正確的最低機率。

    預設值是 null,這表示所有預測都會算為正確。

    (選擇性)

  • test list
    指定測試選項的字串。這個參數保留給未來使用。

    (選擇性)

傳回類型

傳回的資料列集包含每一個資料分割的分數及所有模型的彙總。

下表列出 GetValidationResults 傳回的資料行。

資料行名稱

描述

Model

已測試的模型名稱。[全部] 表示結果是所有模型的彙總。

AttributeName

可預測的資料行名稱。

AttributeState

可預測資料行內的目標值。

如果這個資料行包含值,只會針對指定的狀態收集度量。

如果未指定這個值,或是指定了 null,將會針對每一項預測最有可能的狀態來計算度量。

PartitionIndex

代表套用結果的磁碟分割。

對於此程序而言,一定是 0。

PartitionCases

根據 <data set> 參數來指示案例集中資料列數的整數。

Test

已執行的測試類型。

Measure

測試所傳回之量值的名稱。每一個模型的量值取決於模型類型及可預測值的類型。

如需每一個可預測類型所傳回的量值清單,請參閱<交叉驗證報表 (Analysis Services - 資料採礦)>。

如需每一個量值的定義,請參閱<交叉驗證 (Analysis Services - 資料採礦)>。

Value

指定之量值的值。

備註

下表提供您可以在用於交叉驗證的採礦結構內指定資料的值範例。如果您想要將測試案例用於交叉驗證,採礦結構必須已經包含測試資料集。如需在建立採礦結構時如何定義測試資料集的詳細資訊,請參閱<將資料分割成培訓集和測試集 (Analysis Services - 資料採礦)>。

整數值

描述

1

只會使用定型案例。

2

只會使用測試案例。

3

定型案例和測試案例都會使用。

4

組合無效。

5

只會使用定型案例,而且會套用模型篩選器。

6

只會使用測試案例,而且會套用模型篩選器。

7

定型案例和測試案例都會使用,而且會套用模型篩選器。

如需有關您會使用交叉驗證之案例的詳細資訊,請參閱<驗證資料採礦模型 (Analysis Services - 資料採礦)>。

範例

此範例會針對單一決策樹模型 v Target Mail DT (與 vTargetMail 採礦結構有關) 傳回精確度的量值。第四行的程式碼指示結果應該根據測試案例,由每一個模型特有的篩選器來針對該模型進行篩選。[Bike Buyer] 會指定要預測的資料行,而下一行的 1 指示此模型只會針對特定值 1 來預估,表示「是的,將會購買」。

程式碼的最後一行指定狀態臨界值為 0.5。這表示在計算精確度時,機率大於百分之 50 的預測應該算為「良好」預測。

CALL SystemGetAccuracyResults (
[vTargetMail],
[vTargetMail DT],
6,
'Bike Buyer',
1,
0.5
)

範例結果:

ModelName

AttributeName

AttributeState

PartitionIndex

PartitionSize

Test

Measure

Value

v Target Mail DT

Bike Buyer

1

0

1638

Classification

True Positive

605

v Target Mail DT

Bike Buyer

1

0

1638

Classification

False Positive

177

v Target Mail DT

Bike Buyer

1

0

1638

Classification

True Negative

501

v Target Mail DT

Bike Buyer

1

0

1638

Classification

False Negative

355

v Target Mail DT

Bike Buyer

1

0

1638

Likelihood

Log Score

-0.598454638753028

v Target Mail DT

Bike Buyer

1

0

1638

Likelihood

Lift

0.0936717116894395

v Target Mail DT

Bike Buyer

1

0

1638

Likelihood

Root Mean Square Error

0.361630800104946

需求

從 SQL Server 2008 開始,交叉驗證只能在 SQL Server Enterprise 中使用。