共用方式為


SystemGetAccuracyResults (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 回溯相容性

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

這個預存程式會將整個數據集的計量當做單一數據分割傳回。 若要將資料集分割成跨區段並傳回每個分割區的計量,請使用 SystemGetCrossValidationResults (Analysis Services - 數據採礦)

注意

使用Microsoft時間序列演算法或Microsoft時序群集演算法所建置的模型不支援此預存程式。 此外,針對叢集模型,請使用個別的預存程式,SystemGetClusterAccuracyResults (Analysis Services - 數據採礦)

語法

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

參數

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

(必要)

模型清單
要驗證的模型逗號分隔清單。

預設值為 null。 這表示會使用所有適用的模型。 使用預設值時,叢集模型會自動從候選清單排除以進行處理。

(選擇性)

數據集
整數值,指出採礦結構中的哪個分割區用於測試。 此值衍生自位掩碼,代表下列值的總和,其中任何單一值都是選擇性的:

類別 價值
定型案例 0x0001
測試案例 0x0002
模型篩選 0x0004

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

(必要)

目標屬性
包含可預測物件名稱的字串。 可預測的物件可以是採礦模型的數據行、巢狀數據表數據行或巢狀數據表索引鍵數據行。

(必要)

目標狀態
包含要預測之特定值的字串。

如果指定值,則會收集該特定狀態的計量。

如果未指定任何值,或指定 null,則會計算每個預測最可能狀態的計量。

預設值為 null

(選擇性)

目標閾值
介於 0.0 和 1 之間的數位,指定預測值計算為正確的最小機率。

默認值為 null,這表示所有預測都會計算為正確。

(選擇性)

測試清單
指定測試選項的字串。 此參數保留供日後使用。

(選擇性)

傳回類型

傳回的數據列集包含每個數據分割的分數,以及所有模型的匯總。

下表列出 getValidationResults所傳回的數據行。

數據行名稱 描述
已測試之模型的名稱。 All 表示結果是所有模型的匯總。
AttributeName 可預測數據行的名稱。
AttributeState 可預測數據行中的目標值。

如果此數據行包含值,則只會收集指定狀態的計量。

如果未指定此值,或 為 null,則會針對每個預測最可能的狀態計算計量。
PartitionIndex 表示套用結果的分割區。

針對此程式,一律為 0。
PartitionCases 整數,表示案例集中的數據列數目,根據 <數據集> 參數。
測試 已執行的測試類型。
測試所傳回之量值的名稱。 每個模型的量值取決於模型類型,以及可預測值的型別。

如需針對每個可預測類型傳回的量值清單,請參閱交叉驗證報表中的 量值

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

言論

下表提供值範例,您可以用來指定用於交叉驗證之採礦結構中的數據。 如果您想要使用測試案例進行交叉驗證,採礦結構必須已經包含測試數據集。 如需如何在建立採礦結構時定義測試資料集的資訊,請參閱 定型及測試數據集

整數值 描述
1 只會使用定型案例。
2 只會使用測試案例。
3 會同時使用定型案例和測試案例。
4 無效的組合。
5 只會使用定型案例,並套用模型篩選。
6 只會使用測試案例,並套用模型篩選。
7 會同時使用定型和測試案例,並套用模型篩選。

如需使用交叉驗證之案例的詳細資訊,請參閱 測試和驗證 (資料採礦)

例子

本範例會傳回與 vTargetMail 採礦結構相關聯的單一判定樹模型 v Target Mail DT精確度量值。 第四行的程式代碼表示結果應該以測試案例為基礎,並依該模型特定的篩選條件來篩選每個模型。 [Bike Buyer] 會指定要預測的數據行,而下列這一行的 1 表示模型只會針對特定值 1 進行評估,這表示「是的,將會購買」。

程式代碼的最後一行會指定狀態閾值為 0.5。 這表示計算精確度時,機率大於 50% 的預測應該算作「良好」預測。

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

範例結果:

ModelName AttributeName AttributeState PartitionIndex PartitionSize 測試 價值
v 目標郵件 DT Bike Buyer 1 0 1638 分類 真肯定 605
v 目標郵件 DT Bike Buyer 1 0 1638 分類 誤判為真 177
v 目標郵件 DT Bike Buyer 1 0 1638 分類 True 負數 501
v 目標郵件 DT Bike Buyer 1 0 1638 分類 誤判為負數 355
v 目標郵件 DT Bike Buyer 1 0 1638 可能性 記錄分數 -0.598454638753028
v 目標郵件 DT Bike Buyer 1 0 1638 可能性 電梯 0.0936717116894395
v 目標郵件 DT Bike Buyer 1 0 1638 可能性 根平均平方誤差 0.361630800104946

要求

交叉驗證僅適用於從 SQL Server 2008 開始的 SQL Server Enterprise。

另請參閱

SystemGetCrossValidationResults (Analysis Services - 數據採礦)
SystemGetAccuracyResults
SystemGetClusterCrossValidationResults (Analysis Services - 數據採礦)
SystemGetClusterAccuracyResults (Analysis Services - 數據採礦)