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 - 數據採礦)