ALTER MINING STRUCTURE (DMX)
建立以現有採礦結構為基礎的新採礦模型。 使用 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>)]
引數
structure
要對其加入採礦模型之採礦結構的名稱。model
採礦模型的唯一名稱。column definition list
資料行定義的逗號分隔清單。nested column definition list
取自巢狀資料表之資料行的逗號分隔清單 (如果適用的話)。nested filter criteria
套用至巢狀資料表中資料行的篩選運算式。algorithm
提供者所定義的資料採礦演算法名稱。[!附註]
目前提供者所支援之演算法的清單可使用 DMSCHEMA_MINING_SERVICES 資料列集 加以擷取。 若要檢視目前 Analysis Services 執行個體中所支援的演算法,請參閱<資料採礦屬性>。
parameter list
選擇性。 提供者自訂之演算法參數的逗號分隔清單。filter criteria
套用至案例資料表中之資料行的篩選運算式。
備註
如果採礦結構包含複合索引鍵,採礦模型就必須包含結構中定義的所有索引鍵資料行。
如果模型不需要可預測資料行 (例如使用 Microsoft 群集與 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)>。
預測子句
預測子句描述如何使用預測資料行。 下表列出可能的子句。
PREDICT |
這個資料行可以由模型預測,而其值可以用來當做輸入以預測其他可預測資料行的值。 |
PREDICT_ONLY |
這個資料行可以依模型預測,但是其值不能用於輸入案例中以預測其他可預測資料行的值。 |
篩選準則運算式
您可以定義篩選來限制用於採礦模型中的案例。 篩選可套用至案例資料表中的資料行或巢狀資料表中的資料列,或套用至兩者。
篩選準則運算式是經過簡化的 DMX 述詞,與 WHERE 子句類似。 篩選運算式限於使用基本數學運算子、純量和資料行名稱的公式。 EXISTS 運算子則是例外;如果子查詢至少傳回一個資料列,該運算子就會評估為 True。 述詞可以使用常見的邏輯運算子 AND、OR 和 NOT 等來結合。
如需有關搭配採礦模型使用篩選的詳細資訊,請參閱<採礦模型的篩選 (Analysis Services - 資料採礦)>。
[!附註]
篩選中的資料行必須是採礦結構資料行。 您無法在模型資料行或別名資料行上建立篩選。
如需有關 DMX 運算子和語法的詳細資訊,請參閱<採礦模型資料行>。
參數定義清單
您可以將演算法參數加入至參數清單,以調整模型的效能和功能。 可以使用的參數是依照您在 USING 子句中指定的演算法而定。 如需與每一種演算法相關聯的參數清單,請參閱<資料採礦演算法 (Analysis Services - 資料採礦)>。
參數清單的語法如下:
[<parameter> = <value>, <parameter> = <value>,…]
範例 1:將模型加入至結構
下列範例將 Naive Bayes 採礦模型加入至 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 資料行 (包含客戶地區的屬性),以及 Income Group 資料行 (使用 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