模型旗標 (資料採礦)

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

您可以使用 SQL Server SQL Server Analysis Services 中的模型旗標,為案例數據表中定義之數據的數據採礦演算法提供其他資訊。 演算法可以使用這項資訊來建立更精確的數據採礦模型。

某些模型旗標是在採礦結構的層級定義,而其他則定義於採礦模型數據行的層級。 例如,NOT NULL 模型旗標會與採礦結構數據行搭配使用。 您可以根據您用來建立模型的演算法,在採礦模型數據行上定義其他模型旗標。

注意

除了 SQL Server Analysis Services 預先定義的模型旗標之外,第三方外掛程式可能還有其他模型旗標。

模型旗標清單

下列清單描述 SQL Server Analysis Services 中支援的模型旗標。 如需特定演算法所支援模型旗標的相關信息,請參閱用來建立模型的演算法技術參考主題。

NOT NULL
表示屬性數據行的值絕對不能包含 Null 值。 如果 SQL Server Analysis Services 在模型定型程式期間遇到此屬性數據行的 Null 值,就會產生錯誤。

MODEL_EXISTENCE_ONLY
表示資料列將被視為有兩種狀態:遺漏現有。 如果值 NULL,則會將其視為 Missing。 MODEL_EXISTENCE_ONLY旗標會套用至可預測的屬性,而且大部分演算法都支援。

實際上,將 [MODEL_EXISTENCE_ONLY] 旗標設定為 True 會變更值的表示法,因此只有兩種狀態:遺漏現有。 所有非遺漏狀態都會合併成單一 現有 值。

此模型旗標的一般用法會位於屬性中,NULL 狀態具有隱含的意義,而且 NOT NULL 狀態的明確值可能不如數據行具有任何值的事實那麼重要。 例如,如果合約從未簽署,而且如果合約已簽署,NOT NULL,則 [DateContractSigned] 資料行可能會 NULL。 因此,如果模型的目的是預測合約是否會簽署,您可以使用 MODEL_EXISTENCE_ONLY 旗標來忽略 NOT NULL 案例中的確切日期值,並只區分合約 遺漏現有的情況。

注意

Missing 是演算法所使用的特殊狀態,與數據行中的文字值「遺漏」不同。 如需詳細資訊,請參閱 遺漏值 (Analysis Services - 資料採礦)

回歸輸入器
表示數據行是處理期間做為回歸輸入項的候選專案。 此旗標定義於採礦模型數據行上,而且只能套用至具有連續數值數據類型的數據行。 如需使用此旗標的詳細資訊,請參閱本主題中的一節,REGRESSOR 模型旗標的使用

檢視和變更模型旗標

您可以在數據採礦設計師中檢視與採礦結構數據行或模型數據行相關聯的模型旗標,方法是檢視結構或模型的屬性。

若要判斷哪些模型旗標已套用至目前的採礦結構,您可以針對只傳回結構數據行之模型旗標的資料採礦架構數據列集建立查詢,方法是使用如下所示的查詢:

SELECT COLUMN_NAME, MODELING_FLAG  
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS  
WHERE STRUCTURE_NAME = '<structure name>'  

您可以使用數據採礦設計師和編輯相關聯數據行的屬性,來新增或變更模型中所使用的模型旗標。 這類變更需要重新處理結構或模型。

您可以使用 DMX,或使用 AMO 或 XMLA 腳本,在新的採礦結構或採礦模型中指定模型旗標。 不過,您無法使用 DMX 來變更現有採礦模型和結構中使用的模型旗標。 您必須使用 語法來建立新的採礦模型,ALTER MINING STRUCTURE....ADD MINING MODEL

REGRESSOR 模型旗標的使用

當您在資料行上設定 REGRESSOR 模型旗標時,您會向演算法指出數據行包含潛在回歸變數。 模型中使用的實際回歸輸入變數是由演算法所決定。 如果未建立可預測屬性的模型,則可以捨棄潛在的回歸輸入變數。

當您使用數據採礦精靈建置模型時,所有連續輸入數據行都會標示為可能的回歸輸入變數。 因此,即使您未在數據行上明確設定 REGRESSOR 旗標,該數據行仍可做為模型中的回歸輸入變數。

您可以針對採礦模型的架構數據列集執行查詢,以判斷實際用於處理模型的回歸輸入變數,如下列範例所示:

SELECT COLUMN_NAME, MODELING_FLAG  
FROM $system.DMSCHEMA_MINING_COLUMNS  
WHERE MODEL_NAME = '<model name>'  

注意 如果您修改採礦模型,並將數據行的內容類型從連續變更為離散,您必須手動變更採礦數據行上的旗標,然後重新處理模型。

線性回歸模型中的回歸輸入器

線性回歸模型是以Microsoft判定樹演算法為基礎。 即使您不使用Microsoft線性回歸演算法,任何判定樹模型都可以包含代表連續屬性上回歸的樹狀結構或節點。

因此,在這些模型中,您不需要指定連續數據行代表回歸輸入變數。 Microsoft判定樹演算法會將數據集分割成具有有意義模式的區域,即使您未在數據行上設定 REGRESSOR 旗標也一樣。 差異在於,當您設定模型旗標時,演算法會嘗試尋找下列形式的回歸方程式,以符合樹狀節點中的模式。

a*C1 + b*C2 + ...

然後,計算殘差的總和,如果偏差太大,則會強制在樹狀結構中分割。

例如,如果您要使用 Income 作為屬性來預測客戶購買行為,並在數據行上設定 REGRESSOR 模型旗標,則演算法會先嘗試使用標準回歸公式來符合 Income 值。 如果偏差太大,則會放棄回歸公式,而且樹狀結構會分割在其他屬性上。 然後,判定樹演算法會嘗試在分割之後,針對每個分支中的收入調整回歸輸入變數。

您可以使用 FORCE_REGRESSOR 參數來保證演算法會使用特定的回歸輸入變數。 此參數可以搭配判定樹演算法和線性回歸演算法使用。

使用下列連結深入瞭解如何使用模型旗標。

任務 主題
使用數據採礦設計工具編輯模型旗標 檢視或變更模型旗標 (資料採礦)
指定演算法的提示,以建議可能回歸輸入 指定要在模型 中做為回歸輸入變數的數據行
請參閱特定演算法支援的模型旗標(在每個演算法參考主題的模型旗標一節中) 數據採礦演算法 (Analysis Services - 數據採礦)
深入了解採礦結構數據行,以及您可以對其設定的屬性 採礦結構數據行
瞭解可在模型層級套用的採礦模型數據行和模型旗標 採礦模型數據行
請參閱在 DMX 語句中使用模型旗標的語法 模型旗標 (DMX)
瞭解遺漏的值,以及如何使用它們 遺漏值 (Analysis Services - 數據採礦)
瞭解如何管理模型和結構,以及設定使用屬性 移動數據採礦物件