ALTER MINING STRUCTURE (DMX)
適用於: SQL Server Analysis Services
建立以現有採礦結構為基礎的新採礦模型。 當您使用 ALTER MINING STRUCTURE 語句來建立新的採礦模型時,結構必須已經存在。 相反地,當您使用 語句 CREATE MINING MODEL (DMX)時,您會建立模型,並同時自動產生其基礎採礦結構。
語法
ALTER MINING STRUCTURE <structure>
ADD MINING MODEL <model>
(
<column definition list>
[(<nested column definition list>) [WITH FILTER (<nested filter criteria>)]]
)
USING <algorithm> [(<parameter list>)]
[WITH DRILLTHROUGH]
[,FILTER(<filter criteria>)]
引數
結構
要加入採礦模型之採礦結構的名稱。
model
採礦模型的唯一名稱。
數據行定義清單
以逗號分隔的數據行定義清單。
巢狀資料行定義清單
如果適用,則為巢狀數據表中的數據行逗號分隔清單。
巢狀篩選準則
套用至巢狀數據表中數據行的篩選條件表達式。
algorithm
提供者所定義的數據採礦演算法名稱。
注意
您可以使用 DMSCHEMA_MINING_SERVICES Rowset 來擷取目前提供者支援的演算法清單。 若要檢視 Analysis Services 目前實例中支援的演算法,請參閱 數據採礦屬性。
參數清單
選擇性。 演算法的提供者定義參數逗號分隔清單。
篩選準則
套用至案例數據表中數據行的篩選條件表達式。
備註
如果採礦結構包含複合索引鍵,採礦模型必須包含結構中定義的所有索引鍵數據行。
例如,如果模型不需要可預測的數據行,則使用 Microsoft Clustering 和 Microsoft 時序群集演算法所建置的模型,您就不需要在 語句中包含數據行定義。 產生的模型中的所有屬性都會被視為輸入。
在 套用至案例數據表的 WITH 子句中,您可以指定篩選和鑽研的選項:
新增 FILTER 關鍵詞和篩選條件。 篩選會套用至採礦模型中的案例。
新增 DRILLTHROUGH 關鍵詞,讓採礦模型的用戶能夠從模型結果向下切入到案例數據。 在數據採礦延伸模組 (DMX) 中,只有在您建立模型時,才能啟用鑽研。
若要同時使用案例篩選和鑽研,您可以使用下列範例所示的語法,在單 一 WITH 子句中結合 關鍵詞:
WITH DRILLTHROUGH, FILTER(Gender = 'Male')
數據行定義清單
您可以藉由指定資料列定義清單來定義模型的結構,其中包含每個資料列的下列資訊:
名稱 (必要項)
別名 (選擇性)
模型旗標
預測要求,這個要求會向演算法指出數據行是否包含預測值,由 PREDICT 或 PREDICT_ONLY 子句表示
針對資料列定義清單使用下列語法來定義單一資料列:
<structure column name> [AS <model column name>] [<modeling flags>] [<prediction>]
數據行名稱和別名
您在資料行定義清單中使用的數據行名稱必須是數據行的名稱,因為它用於採礦結構中。 不過,您可以選擇性地定義別名來代表採礦模型中的結構數據行。 您也可以為相同的結構數據行建立多個數據行定義,並將不同的別名和預測使用方式指派給數據行的每個複本。 如果您未定義別名,預設會使用結構數據行名稱。 如需詳細資訊,請參閱 建立模型數據行的別名。
針對巢狀數據表數據行,您可以指定巢狀數據表的名稱、將數據類型指定為 TABLE,然後提供要包含在模型中的巢狀數據行清單,並以括弧括住。
您可以藉由在巢狀數據表數據行定義之後貼上篩選準則表示式,來定義套用至巢狀數據表的篩選表達式。
模型旗標
Analysis Services 支援下列模型旗標,以用於採礦模型數據行:
注意
NOT_NULL模型旗標適用於採礦結構數據行。 如需詳細資訊,請參閱 CREATE MINING STRUCTURE (DMX) 。
詞彙 | 定義 |
---|---|
REGRESSOR | 表示演算法可以在回歸演算法的回歸公式中使用指定的數據行。 |
MODEL_EXISTENCE_ONLY | 指出屬性數據行的值比屬性的存在更重要。 |
您可以定義資料列的多個模型旗標。 如需如何使用模型旗標的詳細資訊,請參閱 模型旗標 (DMX) 。
Prediction 子句
預測子句描述如何使用預測數據行。 下表列出可能的 子句。
子句 | 描述 |
---|---|
預測 | 此數據行可由模型預測,而且其值可用來做為輸入來預測其他可預測數據行的值。 |
PREDICT_ONLY | 此數據行可由模型預測,但其值不能用於輸入案例中來預測其他可預測數據行的值。 |
篩選準則表達式
您可以定義篩選條件,以限制採礦模型中所使用的案例。 篩選可以套用至案例數據表中的數據行或巢狀數據表中的數據列,或套用至兩者。
篩選準則表達式是簡化的 DMX 述詞,類似於 WHERE 子句。 篩選表達式僅限於使用基本數學運算元、純量和數據行名稱的公式。 例外狀況是 EXISTS 運算符;如果子查詢至少傳回一個數據列,它會評估為 true。 您可以使用常見的邏輯運算符來結合述詞:AND、OR 和 NOT。
如需與採礦模型搭配使用之篩選的詳細資訊,請參閱採礦模型的篩選(Analysis Services - 數據採礦)。
注意
篩選中的數據行必須是採礦結構數據行。 您無法在模型資料行或別名數據行上建立篩選。
如需 DMX 運算符和語法的詳細資訊,請參閱 採礦模型數據行。
參數定義清單
您可以將演算法參數新增至參數清單,以調整模型的效能和功能。 您可以使用的參數取決於您在 USING 子句中指定的演算法。 如需與每個演算法相關聯的參數清單,請參閱數據採礦演算法(Analysis Services - 數據採礦)。
參數清單的語法如下所示:
[<parameter> = <value>, <parameter> = <value>,...]
範例 1:將模型新增至結構
下列範例會將貝氏機率分類採礦模型新增至 New Mailing 採礦結構,並將屬性狀態數目上限限製為 50。
ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes]
(
CustomerKey,
Gender,
[Number Cars Owned],
[Bike Buyer] PREDICT
)
USING Microsoft_Naive_Bayes (MAXIMUM_STATES = 50)
範例 2:將篩選的模型新增至結構
下列範例會將採礦模型 Naive Bayes Women
新增至 New Mailing 採礦結構。 新模型與範例 1 中新增的採礦模型具有相同的基本結構;不過,此模型會將採礦結構中的案例限製為50歲以上的女性客戶。
ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes Women]
(
CustomerKey,
Gender,
[Number Cars Owned],
[Bike Buyer] PREDICT
)
USING Microsoft_Naive_Bayes
WITH FILTER([Gender] = 'F' AND [Age] >50)
範例 3:將篩選模型新增至具有巢狀數據表的結構
下列範例會將採礦模型新增至已修改版本的購物籃採礦結構。 範例中使用的採礦結構已修改為新增 Region 數據行,其中包含客戶區域的屬性,以及使用 High、Moderate 或 Low 值來分類客戶收入的收益群組數據行。
採礦結構也包含巢狀數據表,其中列出客戶已購買的專案。
因為採礦結構包含巢狀數據表,所以您可以在案例數據表、巢狀數據表或兩者上定義篩選。 本範例結合案例篩選和巢狀數據列篩選,將案例限製為購買其中一個道路輪胎型號的富裕歐洲客戶。
ALTER MINING STRUCTURE [Market Basket with Region and Income]
ADD MINING MODEL [Decision Trees]
(
CustomerKey,
Region,
[Income Group],
[Product] PREDICT (Model)
WITH FILTER (EXISTS (SELECT * FROM [v Assoc Seq Line Items] WHERE
[Model] = 'HL Road Tire' OR
[Model] = 'LL Road Tire' OR
[Model] = 'ML Road Tire' )
)
) WITH FILTER ([Income Group] = 'High' AND [Region] = 'Europe')
USING Microsoft_Decision Trees
另請參閱
數據採礦延伸模組 (DMX) 資料定義語句
數據採礦延伸模組 (DMX) 數據操作語句
資料採礦延伸模組 (DMX) 陳述式參考