模型旗標 (資料採礦)

適用于: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
表示資料行將被視為擁有兩個狀態: MissingExisting。 若值為 NULL,則會視為 Missing。 MODEL_EXISTENCE_ONLY 旗標會套用到可預測的屬性,而且受到大多數的演算法所支援。

實際上,將 MODEL_EXISTENCE_ONLY 旗標設定為 True 會變更值的表示法,因此只會有兩個狀態: MissingExisting。 所有非遺漏狀態都會結合到單一 Existing 值中。

此模型旗標的一般用法是 NULL 狀態具有隱含意義的屬性,而 NOT NULL 狀態的明確值則可能不如資料行擁有任何值來得重要。 例如,如果從未簽署過合約,[DateContractSigned] 資料行可能為 NULL ,如果簽署了合約,則為 NOT NULL 。 因此,如果模型的用途是預測是否會簽署合約,可以使用 MODEL_EXISTENCE_ONLY 旗標來忽略 NOT NULL 案例中的精確日期值,並僅區分合約為 MissingExisting的案例。

注意

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

REGRESSOR
指出資料行是處理期間做為迴歸輸入變數使用的候選選項。 這個旗標是在採礦模型資料行上定義,並且只能套用至採用連續數值資料類型的資料行。 如需有關使用這個旗標的詳細資訊,請參閱本主題的 使用 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 參數來確保演算法會使用特定的迴歸輸入變數。 這個參數可用於決策樹演算法及線性迴歸演算法。

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

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